passwd 要求输入新密码 4 次

passwd 要求输入新密码 4 次

我刚刚经历了一件奇怪的事情。我在一台服务器上创建了一个新用户(Ubuntu 10.04,安装了 Plesk),然后想设置密码。看看这个输出:

# useradd dev
# passwd dev
Enter new password:
Retype new password:
Geben Sie ein neues UNIX-Passwort ein: 
Geben Sie das neue UNIX-Passwort erneut ein:

我不得不输入密码 4 次。后 2 次提示是德语。后 2 次请求的密码必须与第一次输入的密码不同。这是怎么回事?

更新:# cat /etc/pam.d/passwd # # Shadow `passwd' 服务的 PAM 配置文件 #

@include common-password

# cat /etc/pam.d/system-auth
cat: /etc/pam.d/system-auth: Datei oder Verzeichnis nicht gefunden

(/etc/pam.d/system-auth 不存在) 顺便问一下,我可以以某种方式将所有这些输出设置为英文,而不更改系统区域设置(这可能会影响其他内容)吗?

更新2:

# cat /etc/pam.d/common-password 

# here are the per-package modules (the "Primary" block)
password optional pam_plesk.so try_first_pass
password        [success=1 default=ignore]      pam_unix.so obscure sha512
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config

看起来 Plesk 是罪魁祸首。对吗?

答案1

passwd命令使用 PAM(可插入身份验证模块),它会要求用户输入密码并更新密码哈希值/etc/shadow和/或您配置的任何其他身份验证后端。该passwd命令的 PAM 在 中配置/etc/pam.d/passwd,在您的情况下,它仅包含/etc/pam.d/common-password

您可以阅读有关 PAM 的简要介绍man 7 pam

现在我对 Plesk 还不熟悉,而且在 PAM 方面我还是个业余爱好者,但我倾向于交换前两个非空白、非注释的行,以便它pam_unix位于之前pam_plesk

...
# here are the per-package modules (the "Primary" block)
password        [success=1 default=ignore]      pam_unix.so obscure sha512
password        optional                        pam_plesk.so try_first_pass
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
...

我来告诉你原因。你看到try_first_pass后面的那个选项pam_plesk了吗?这意味着如果这个特定的模块在另一个模块之后运行,这个模块已经要求输入用户的密码,那么它应该尝试重新使用该密码而不是再次询问。但是由于pam_plesk先运行,所以没有已经输入的密码可以尝试,所以你会得到前两个提示。然后pam_unix运行,它也没有try_first_pass,所以你会得到另外两个提示。

或者,您可以尝试添加try_first_passpam_unix行中。

备份文件common-passwd,以防万一,这样如果更改不起作用,您可以撤销更改。我无法访问 Plesk,因此无法亲自测试建议的更改。

答案2

在我的例子中,linux passwd change 命令要求我重新输入两次新密码。理想情况下应该是一次

因此我从 /etc/pam.d/passwd 文件中删除了下面一行。发布 passwd 命令后,它不会要求我重新输入两次新密码。

需要密码 pam_pwquality.so retry=5

前期神器:

 
[root@linuxvmproddbserver ~]# cat /etc/pam.d/passwd
#%PAM-1.0
auth 包括系统身份验证
账户包括系统认证
密码子堆栈系统身份验证
-密码可选 pam_gnome_keyring.so use_authtok
密码子堆栈登录后
需要密码 pam_pwquality.so retry=5

后期制品:

 
[root@linuxvmproddbserver ~]# cat /etc/pam.d/passwd
#%PAM-1.0
auth 包括系统身份验证
账户包括系统认证
密码子堆栈系统身份验证
-密码可选 pam_gnome_keyring.so use_authtok
密码子堆栈登录后

相关内容