为什么 adduser 命令的行为令人惊讶?

为什么 adduser 命令的行为令人惊讶?

我懂了各种例子如何在 Ubuntu 服务器上添加用户

我有 Ubuntu 10.04.2 LTS

我以 root 身份登录,运行时adduser,我的 SSH 命令行要求我输入“新密码”和“新 UNIX 密码”。

我不太确定有什么区别,并想知道为什么它要求两种类型的密码。

为什么该adduser命令的行为令人惊讶,我该如何调查它如何以及为何偏离默认的 Ubuntu 行为?

--------
# adduser joe
Adding user `joe' ...
Adding new group `joe' (1007) ...
Adding new user `joe' (1003) with group `joe' ...
Creating home directory `/home/joe' ...
Copying files from `/etc/skel' ...
Enter new password:
Retype new password:
Enter new UNIX password:
------

更新:自从从 mattdm 和 AlexD 的反馈中更好地理解了这个问题后,我修改了这个问题的原始形式:“添加新用户时,Linux 上的‘新 UNIX 密码’和‘新密码’有什么区别? ”

答案1

由于adduser脚本只是调用,并且二进制中passwd没有Enter new password或等字符串,但在 中找到了后来的字符串,因此我建议检查和是否有与密码相关的异常内容。Enter new UNIX password/usr/sbin/passwd/lib/security/pam_unix.so/etc/nsswitch.conf/etc/pam.d/*

答案2

听起来adduser您运行的脚本已损坏,因为它运行了两个不同的密码设置程序。第一个可能是 samba 密码或其他备用密码系统,但更有可能只是主系统密码程序的两个不同版本。

这里的问题是您的系统是否受到损害。我会根据包数据库验证二进制文件,并确保它们没有被更改。可以修改此类脚本以通过额外请求凭据来获取密码。

答案3

命令行为的规则由存储在其中的配置信息或其包含的文件(即)adduser控制。/etc/pam.d/passwd/etc/pam.d/common-password

PAM 的意思可插拔的身份验证模块

这个页面给出了一些新手友好深入了解 PAM 的工作原理(但它似乎与 suse-linux 有关,而不是 Ubuntu):

这个页面给出了一些专注于 Ubuntu 10.04.2 LTS深入了解 PAM 的工作原理(但它似乎是针对更有经验的 Linux 用户):

在这两页之间,您可能会了解/etc/pam.d/passwd文件中发生的情况。

相关内容