8.10 Linux修改系统用户密码(passwd命令)

显然,passwd命令是Linux系统中更改密码的关键,但应谨慎使用。
我们先来说说最重要的事情。
普通用户必须通过 PAM 身份验证过程才能更改密码。
我们去年跑的一个项目中,系统要求新密码长度至少为1 2 位,包含数字和特殊符号,否则会一直提示“密码太弱”。
另一方面,root 用户确实可以忽略这条规则,但说实话,这有点令人困惑。
上次,一位同事忘记更改root密码,导致系统卡住。
最终,他不得不重装系统。
然后他就发现不对劲了,没必要这么费心了。
还有一个重要的细节,比如使用--stdin批量设置密码。
这个很简单,但是最好在空机器上操作,否则历史指令可能会被遗漏。
等等,还有别的事。
不同版本的Linux对passwd的支持不同。
例如,RHEL7 默认没有--stdin选项。
使用前必须使用man passwd命令进行检查。
我认为值得尝试的是,将普通用户和root用户的密码策略设置一致,安全系数会更高。

Linux修改用户密码的操作步骤

Linux密码管理说白了就是改变密码;这是关于如何处理忘记的密码以及让每个人遵守规则的三件事。
这个问题因各种情况下的操作细节和缺陷而变得复杂。

最简单的方法是先使用passwd命令更改密码。
普通用户可以直接输入passwd。
系统会要求您输入旧密码和新密码两次。
新密码的长度必须至少为 1 2 位数字。
必须满足复杂性要求,例如符号或其他东西。
root用户必须使用sudo passwd用户名来更改其他人的密码,而无需输入默认密码。
这特别适合批量操作或员工忘记密码的情况。
该项目于去年实施,使用该方法连续更改了5 0多个用户的密码。
它是半极中的恒星,比自身变化还要快。

等等,还有一件事。
起初我以为普通用户只有忘记密码才能联系管理员。
稍后,具有 sudo 权限的用户可以获取其密码我发现你可以直接使用 sudo passwd 来重置,这样省去了很多麻烦。
如果你不是 root 并且没有 sudo 你实际上需要找到管理员或者去机房敲击键盘。

更改密码后无法登录?我先说最重要的一点。
不要太快批评这个制度。
键盘改成法语了吗?否以及 CapsLock 是否以隐身方式打开。
检查否 - 密码仅限大小写。
另一件事是复制和粘贴密码时不要握手。
打字复制后使用文本编辑器是最稳定的。
还有一个更重要的细节。
如果您使用 LDAP 身份验证;密码同步可能需要 5 -1 0 分钟。
通常可以在系统日志中看到失败的具体原因。
例如,如果 pam_tally2 模块锁定帐户。
您需要等待管理员解锁或等待锁定时间。

说到强制密码更改策略,chage 命令是最常见的。
sudo chage -M 9 0 用户名;用户必须每 9 0 天更改一次密码。
它在我们的项目中最常用。
使用-W7 ,它是用户会提前 7 天收到通知,这样用户至少可以投诉。
配置 PAM 配置也很重要。
例如,如果将 pam_unix.so 的 minlen 设置为 8 ;密码必须长于 8 位数字,dcredit 必须设置为 -1 并且必须包含数字。
我有一个项目被攻击者残酷地攻击了,因为它没有经过校准。

说实话,还是挺难的。
如果密码太简单或太复杂(如特殊符号),它将不起作用。
必须使用passwdqc工具来测试强度。
安装后,将 pam_passwdqc.so 行添加到 PAM 配置中以适应复杂性规则。

最后,警告。
使用passwd命令更改root密码时;如果直接执行/sbin/init并重新启动您将无法使用新密码登录。
要启动,您必须直接执行 /bin/bash 或 init=/bin/bash;否则init进程将使用自己的旧密码进行身份验证。
我曾经做过一次这个技巧,它几乎让我发疯。

我建议尝试使用安全的密码管理器,无需担心,但必须教会用户如何使用它。