/sbin/nologin 및 /bin/false는 /etc/passwd의 사용자 쉘로 무시됩니다.

/sbin/nologin 및 /bin/false는 /etc/passwd의 사용자 쉘로 무시됩니다.

/etc/passwd내 파일에 다음 항목이 있습니다.

test:x:1002:1000::/home/test:/bin/bash

이를 변경하거나 test:x:1002:1000::/home/test:/bin/false내 사용자 이름을 사용하여 이 컴퓨터에 SSH로 test:x:1002:1000::/home/test:/sbin/nologin계속 연결할 수 있습니다 . test왜 그럴까요?

답변1

NSCD비밀번호 및 그룹 정보를 캐시합니다. 이러한 파일을 nscd -i passwd직접 nscd -i group수정하려고 시도한 후.

답변2

/bin/false파일에서 사용하려면 /etc/passwd사용자 셸 액세스를 비활성화해야 합니다 . SSH를 통해 접속을 시도하면 비밀번호를 묻는 메시지가 나오며, 비밀번호를 입력했음에도 불구하고 연결이 종료됩니다.

사용자가 다른 수단을 통해 로그인하는 것을 허용하지 않으려면 passwd <username> -l계정 로그인 차단을 사용하면 됩니다.

답변3

질문하신 내용으로 볼 때 passwd 파일을 수동으로 수정하는 것처럼 들립니다.

을 사용해 보셨나요 usermod? 내내매뉴얼 페이지usermod -L <account>, 해당 계정에 대한 로그인을 비활성화하려는 경우 사용할 수 있습니다. 쉘을 변경하려면 를 사용하십시오 usermod -s <shell> <account>.

passwd 파일을 수동으로 수정하면 더 많은 문제가 발생할 수 있으므로 일반적으로 눈살을 찌푸리게 됩니다.

관련 정보