/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 파일을 수동으로 수정하면 더 많은 문제가 발생할 수 있으므로 일반적으로 눈살을 찌푸리게 됩니다.