我懂了各种例子如何在 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
文件中发生的情况。