关闭强制更改 sudo passwd

关闭强制更改 sudo passwd

我向 sudoers 添加行:

user1 ALL= EXEC: PASSWD: /usr/bin/passwd user1

当我使用“sudo passwd user1”时,应用简单密码:

Password: 
New password: 
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password: 
passwd: password updated successfully

如何关闭root强制修改密码功能?

-rwsr-x--- root root /usr/bin/passwd.shadow

因此 user1 只能以 root 身份运行 passwd。但我需要允许 user1 更改 user1 和 user2 的密码。 user2 应该仅更改 user2 的密码。我为此使用 sudoers:

user1 ALL= EXEC: PASSWD: /usr/bin/passwd user1
user1 ALL= EXEC: PASSWD: /usr/bin/passwd user2
user2 ALL= EXEC: PASSWD: /usr/bin/passwd user2

答案1

请注意,您运行的命令sudo/usr/bin/passwd,而不是/usr/bin/passwd.shadow。提到的原因并不是显而易见的passwd.shadow:这可能是passwd.shadow主命令使用的辅助命令passwd

即使没有sudo,每个用户也可以更改自己的 - 并且仅有的通过使用不带参数的命令来设置自己的密码passwd。当以这种方式使用时,PAM 中配置的任何密码质量检查都无法通过第三次输入新密码来绕过,就像 root(或passwd通过 以 root 身份运行的人sudo)可以做的那样。

如果您想删除密码质量检查,在 Linux 中它们通常由 PAM 模块或控制pam_cracklib.so,具体取决于所使用的 Linux 发行版。目录中可能有这些模块的配置文件,或者如果您想接受非常简单的密码,您可以从配置文件中完全注释掉这些模块。pam_passwdqc.sopam_pwquality.so/etc/security//etc/pam.d/

如果该passwd命令正常工作,您只需要sudo允许 user1 更改 user2 的密码,如下所示:

user1 ALL= EXEC: PASSWD: /usr/bin/passwd user2

允许每个人更改其他人的密码实际上与给予每个人不受限制的 root 访问权限相同。这通常是一个坏主意。

相关内容