RHEL7 기본 PAM 구성의 "nullok" 옵션이 빈 암호를 허용하지 못하도록 방지하는 것은 무엇입니까?

RHEL7 기본 PAM 구성의 "nullok" 옵션이 빈 암호를 허용하지 못하도록 방지하는 것은 무엇입니까?

구성은 다음 을 포함한 /etc/pam.d/password-auth여러 PAM서비스 에 포함되어 있습니다 sshd.auth

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

두 번째 줄을 잘못 이해한 것 같습니다. 왜냐하면 man pam_unixsum 을 보면 man pam.d빈 비밀번호를 효과적으로 허용해야 하기 때문입니다.

   nullok
       The default action of this module is to not permit the user access to a service if their official
       password is blank. The nullok argument overrides this default.

그런데 다음과 같이 빈 비밀번호로 사용자를 설정해도 로그인이 되지 않습니다 /etc/shadow.

# grep johndoe /etc/shadow
johndoe::16335:0:99999:7:::

PAM내가 어떻게, 무엇을 하는지에 대한 나의 이해에서 누락된 부분은 무엇입니까 pam_unix?

답변1

PermitEmptyPasswords이는 sshd의 구성 옵션이 빈 비밀번호를 거부하도록 설정되어 있기 때문입니다 . 에서 man 5 sshd_config:

   PermitEmptyPasswords
          When password authentication is  allowed,  it  specifies  whether  the  server
          allows login to accounts with empty password strings.  The default is ``no''.

요점: 기본값은 SSH를 통해 빈 비밀번호 전송을 거부하는 것입니다.

관련 정보