답변:
이 /etc/passwd
파일은 사용자 라인의 마지막 항목으로 로그인시 실행할 프로그램이 있습니다. 일반 사용자의 경우 일반적으로 /bin/sh
다른 쉘 (예 : bash, zsh)로 설정됩니다.
전통적으로 프로세스 나 파일 또는 기타 리소스를 소유하는 데 사용되는 ID는 "쉘"을 다음과 /bin/false
같이 설정합니다 .
syslog:x:101:102::/home/syslog:/bin/false
의사 사용자 syslog는 /var/log/syslog
해당 파일에 대한 쓰기 권한이있는 유일한 UID를 소유 하지만 실행할 명령 인터프리터가 없으므로 사용자 syslog로 로그인 할 수 없습니다.
당신이 대답하려는 질문에 관해서 :
대화식 쉘을 가져서는 안되는 사용자 john을 작성하십시오.
이 질문은 " john
로그인 할 수없는 사용자를 셸에서 만들 수 있습니다"라는 의미입니다. 대화식은 쉘이 작동하는 방식을 설명합니다. 사용자는 무언가를 입력하고 쉘은 그에 따라 무언가를 수행합니다 (사용자와 쉘 사이에는 일종의 통신이 있습니다). "interactive"라는 단어는 사용자가 명령을 입력하는 한 쉘 세션은 대화식이므로 질문에 정보를 추가하지 않습니다.
비 대화식 모드도 있습니다.이 모드에서는 사용자가 파일에서 실행하려는 일련의 명령 (쉘 스크립트)을 저장 한 후 파일을 실행합니다. 쉘이 대화식으로 실행되는지 비 대화식으로 실행되는지에 따라 일부 명령이 다르게 작동합니다. 여기에서 더 많은 것을 읽을 수 있습니다 (이 문서는 용 bash
이지만 동일한 개념이 다른 쉘에도 적용됩니다).
당신은을 통해 탈지 경우 이러한 사용자를 생성하는 방법에 대한 man useradd
로그인 쉘을 설정하는 옵션이 있습니다 -s
또는 --shell
. 어쨌든 원하는대로 (사용자가 이미 알고 있다고 생각합니까?) 사용자를 정상적으로 만든 다음 msw의 답변/etc/passwd
에서처럼 편집 할 수 있습니다.