일부 시스템 사용자가 왜 / usr / bin / false를 쉘로 사용합니까?


답변:


73

이렇게하면 사용자가 시스템에 로그온하지 못하게됩니다.

때로는 특정 작업에 대한 사용자 계정이 필요합니다. 그럼에도 불구하고 아무도 컴퓨터에서이 계정과 상호 작용할 수 없습니다. 이들은 한편으로는 시스템 사용자 계정이고 다른 한편으로는 FTP 또는 POP3 액세스가 가능하지만 직접 쉘 로그인은 불가능한 계정입니다.

/etc/passwd파일을 자세히 살펴보면 /bin/false많은 시스템 계정에 대한 로그인 쉘로 명령을 찾을 수 있습니다. 실제로, false는 쉘이 아니라 아무 것도하지 않는 명령이며 error를 나타내는 상태 코드로 끝납니다 . 결과는 간단합니다. 사용자가 로그인하면 즉시 로그인 프롬프트가 다시 나타납니다.



5
이는 단지 컨벤션 일뿐입니다. 내 자신의 셸을 설치 /random/path/foo-shell하고에서 내 기본값으로 설정할 수 /etc/passwd있습니다. 거기에 더없는 보장.
quixotic

16

이러한 사용자는 특정 파일 또는 프로세스의 소유자로 존재하며 로그인 계정이 아닙니다.

"shell"필드의 값이 목록에 없으면 /etc/shellsFTP 데몬과 같은 프로그램은 액세스를 허용하지 않습니다.

또한 확인하지 않는 프로그램 /etc/shells의 경우 /bin/false즉시 반환 되는 사실을 사용 하므로 대화식 쉘을 거부합니다.


7

일부 사용자에게는 / usr / bin / false가 있고 다른 사용자에게는 / sbin / nologin 또는 / usr / bin / passwd가 있습니다. 프로그램 권한을 분리하는 데 필요한 시스템 사용자이거나 인증을 위해 비밀번호 파일을 사용하는 프로그램의 사용자 일 수 있습니다.


1
/usr/bin/passwd예를 들어 메일 전용 계정에 사용됩니다. 사용자는 ssh를 사용하여 비밀번호를 변경할 수 있지만 다른 것은 없습니다.
Simon Richter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.