passwd要求新密码4次

我只是有一个奇怪的经历。 我在服务器上创build了一个新用户(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次。 后两个提示是德语。 后两个请求的密码需要与先给出的密码不同。 这里发生了什么?

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

 @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不存在)顺便说一句。 我可以以某种方式设置所有这样的输出为英语,而不会改变系统区域设置(这可能会影响其他的东西)?

UPDATE2:

 # 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是罪魁祸首。 正确?

passwd命令使用PAM(可插入authentication模块),它向用户询问密码并更新/etc/shadow密码散列和/或您configuration的任何其他auth后端。 PAM的passwd命令是在/etc/pam.d/passwdconfiguration的,在你的情况下,它只包含/etc/pam.d/common-password

你可以阅读有关PAM的快速介绍。

现在我对Plesk还不熟悉,在PAM方面我还是有点业余的,但是我倾向于将前两个非空白的非注释行交换,以便pam_unixpam_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首先运行,没有已经input的密码尝试,所以你得到前两个提示。 然后pam_unix运行,它也没有try_first_pass ,所以你得到另外两个提示。

或者,您可以尝试将try_first_pass添加到pam_unix行。

做一个common-passwd文件的备份,以防万一,所以你可以改变这些改变,如果他们不工作。 我无法访问Plesk,因此我无法亲自testingbuild议的更改。