是什么阻止 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_unixman 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

这是因为PermitEmptyPasswordssshd 的配置选项设置为拒绝空密码。来自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 发送空密码。

相关内容