需要能够在没有 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
工具