>  기사  >  운영 및 유지보수  >  Linux 누구도 아닌 사용자는 누구입니까?

Linux 누구도 아닌 사용자는 누구입니까?

青灯夜游
青灯夜游원래의
2022-11-14 18:08:283193검색

Linux에서는 누구도 익명 사용자, 즉 서버의 공개 콘텐츠에만 액세스할 수 있는 권한이 없는 사용자가 아닙니다. 아무도 사용자 이름을 사용하는 "목적"은 누구나 시스템에 로그인할 수 있도록 허용하는 것이지만 해당 UID와 GID는 어떤 권한도 제공하지 않습니다. 즉, uid와 gid는 모든 사람이 읽고 쓸 수 있는 파일에만 액세스할 수 있습니다. 기본 로그인 쉘은 "/sbin/nologin"이기 때문에, 사용자 누구도 시스템에 직접 로그인할 수 없습니다. 이는 해커가 취약점을 통해 서버에 접속하여 피해를 입히는 것이 어렵다는 것을 의미합니다.

Linux 누구도 아닌 사용자는 누구입니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

Windows 시스템은 설치 후 일부 사용자 계정을 자동으로 생성합니다. Linux 시스템에는 Windows 시스템에 내장된 계정과 마찬가지로
시스템 설치 후 사용할 수 있는 일부 사용자 계정도 있습니다.

nobody, ftp 등과 같은 특정 작업을 완료하는 데 사용됩니다. LinuxSir.Org의 웹 프로그램에 액세스하면 공식 웹사이트 서버에서 고객이 'nobody'(Windows의 익명 계정과 동일)로 로그인할 수 있습니다. system) ;

ftp에 익명으로 액세스할 때 사용자 ftp 또는 none을 사용합니다.

Unix/Linux 시스템에서 none 사용자는 무엇입니까?

누구나 일반 사용자, 권한이 없는 사용자는 없습니다. 아무도 사용자 이름을 사용하는 '목적'은 누구나 시스템에 로그인할 수 있도록 하는 것입니다. 그러나 해당 UID와 GID는 어떤 권한도 제공하지 않습니다. 즉, uid와 gid는 모든 사람이 읽고 쓸 수 있는 파일에만 액세스할 수 있습니다.

많은 시스템에서는 기본적으로 아무도 없음을 생성하고 서버가 외부 서비스를 제공할 때 '권한을 최소로 제한'하려고 시도합니다. 클라이언트는 없음으로 로그인하는 것이 허용될 수 있습니다.

nobody는 일반 계정이 아닙니다. 기본 로그인 쉘은 '/sbin/nologin'이기 때문에 이 사용자는 시스템에 직접 로그인할 수 없습니다. 즉, 해커가 허점을 통해 서버에 연결하여 피해를 입힐 수 없습니다. 또한 이 사용자의 권한도 매우 낮게 구성되어 있습니다. 따라서 상대적으로 보안성이 높습니다. 모든 것은 가장 낮은 권한에게만 부여됩니다. 이것이 누구의 존재 의미도 아니다.

Unix/Linux 시스템에서 사용자 쉘이 /sbin/nologin이라는 것은 무엇을 의미하나요?

사용자의 기본 셸이 /sbin/nologin으로 설정된 경우 이 사용자는 시스템에 로그인할 수 없습니다.

이 nologin의 기능은 특정 사용자가 ssh를 통해 셸에 로그인하는 것을 제한하는 것입니다.

예를 들어 일상생활에서 nginx, mysql, php-fpm과 같은 애플리케이션의 기본 사용자 셸을 /sbin/nologin으로 설정할 수 있습니다

주로 시스템 보안을 강화하기 위한 것입니다

시스템 계정의 셸은 /를 사용합니다. sbin/nologin. 이때는 시스템에 로그인할 수 없습니다. 비밀번호를 입력해도 작동하지 않습니다.

소위 "로그인할 수 없음"은 사용자가 bash나 다른 셸을 사용하여 시스템에 로그인할 수 없다는 의미일 뿐이며 이 계정이 시스템 리소스를 사용할 수 없다는 의미는 아닙니다. 예를 들어, 각 시스템 계정에서 인쇄 작업은 lp 계정으로 관리되고 www 서버는 apache 계정으로 관리됩니다. 둘 다 시스템 프로그램 작업을 수행할 수 있지만 호스트에 로그인할 수는 없습니다.

때때로 이메일 서비스와 같은 일부 서비스는 호스트로부터 이메일을 수신하는 데 주로 사용되며 로그인이 필요하지 않습니다. 계정이 셸을 얻기 위해 내 호스트에 연결을 시도하면 거부할 수 있습니다.

때때로 /etc/nologin 파일을 사용하여 일시적으로 다른 사용자의 로그인을 금지할 수 있습니다. 구체적인 방법은 /etc/ 디렉터리에 nologin이라는 파일을 만드는 것입니다.

예:

 #touch /etc/nologin

이렇게 하면 후속 사용자가 시스템에 로그인하는 것이 금지됩니다.

사용자의 로그인이 금지되면 /etc/nologin 파일의 내용이 사용자에게 표시되고 깜박입니다.

예를 들어 /etc/nologin 파일에 다음 내용을 추가합니다.

#vi /etc/nologin
disable login by admin temperarily!

사용자가 로그인을 시도하면 시스템 유지 관리가 완료된 후 "관리자 로그인을 일시적으로 비활성화합니다!"라는 메시지가 사용자에게 표시됩니다. /etc/nologin 파일을 삭제하면 다른 사용자가 다시 로그인을 재개할 수 있습니다. 이는 쉘에 로그인할 수 있는 사용자에게만 제한됩니다. 로그인 쉘이 /sbin/nologin인 사용자에게는 영향이 없습니다. 스스로 껍질을 벗기십시오.

또한 /sbin/nologin을 사용하는 사용자에게 호스트에 로그인할 수 없다는 사실을 알리고 싶다면 /etc/nologin.txt 파일을 새로 만들고 로그인할 수 없는 이유를 작성할 수 있습니다. 사용자가 로그인하면 이 파일의 내용이 화면에 나타납니다.

예:

 #vi /etc/nologin.txt
 This account is system account or mail account.
 #su - mail

를 입력하면 "이 계정은 시스템 계정이거나 메일 계정입니다."라는 메시지가 표시됩니다.

추가됨:

/etc/nologin과 /etc/nologin.txt에는 서로 다른 기능이 있습니다.

/etc/nologin 파일이 존재하는 경우 모든 일반 ID 계정은 로그인을 시도할 때 /etc/nologin의 내용만 가져오며 호스트에 직접 로그인할 수 없습니다.

/etc/nologin이 생성되고 내용이 "이 Linux 서버는 유지 관리됩니다...."로 설정되면 로그인을 시도하는 모든 사람에게 이러한 메시지가 표시되며 시스템에 로그인할 수 없습니다.

/etc/nologin 파일이 삭제되기 전까지 일반 사용자는 정상적으로 로그인이 가능합니다.

요약:

  • nobody는 linux/unix 시스템의 익명 사용자이며 서버의 공개 콘텐츠에만 액세스할 수 있습니다.

  • /sbin/nologin은 linux/unix 시스템의 셸 설정 항목입니다. /sbin/nologin 사용자는 시스템에 로그인할 수 없습니다

  • /etc/nologin.txt는 쉘이 /sbin/nologin

  • /etc/nologin인 사용자에게만 해당됩니다. users

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 Linux 누구도 아닌 사용자는 누구입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.