当 usermod 以 NOPASSWD 形式位于 /etc/sudoers 中时,usermod 无法锁定 /etc/passwd

当 usermod 以 NOPASSWD 形式位于 /etc/sudoers 中时,usermod 无法锁定 /etc/passwd

需要能够在没有 sudo 的情况下执行“usermod”,以便远程计算机上的脚本可以禁用并锁定实例主机上的用户 ID。

如果我正确阅读了 sudoers 文档,则将“nopasswd”和命令添加到实例主机上的 sudoers 中的 wheel 组应该可以工作。

已通过 visudo 添加%wheel ALL=NOPASSWD: /usr/sbin/usermod到主机上的 /etc/sudoers:

然后运行命令导致失败:

username@hostname:21:21:20 UTC - ~ $ usermod --expiredate 1 --lock $uid
usermod: Permission denied.
usermod: cannot lock /etc/passwd; try again later.

请注意,上面块中的“用户名”是wheel的成员,并且运行“sudo usermod....”确实有效。

也尝试过%wheel ALL=(ALL) NOPASSWD: /usr/sbin/usermod同样的失败。

有没有方法可以修复/解决权限/锁定问题?

答案1

我很确定您仍然需要使用sudo来运行该命令,只是不会提示您输入密码。

有了它,您可能可以将其包含sudo在远程命令中,具体取决于您如何配置所有这些。您无需担心sudo做任何其他事情,因为您明确声明nopasswd只针对usermod工具

相关内容