【发布时间】:2021-05-18 05:33:49
【问题描述】:
我想知道 ansible 模块如何在 linux 机器中调用特定命令。
例子:当我们使用模块user时,这个模块会在linux机器上触发useradd或adduser吗?
我的用例是我想限制对运行 ansible 脚本的用户的 sudo 访问权限,以便我可以通过在 /etc/sudoers 中添加以下条目来仅向特定用户授予所需的权限。
%sftpadmin ALL=NOPASSWD: /usr/sbin/useradd,/usr/sbin/adduser,/usr/bin/passwd,/usr/sbin/usermod,/usr/sbin/groupadd,/usr/bin/chgrp,/usr/bin/chmod,/usr/bin/chown,/usr/bin/systemctl,/usr/sbin/service
如果它可以使用任何其他方式执行任务,请告诉我可以做些什么来最小化用户 sudo 访问这种情况。
提前致谢。
【问题讨论】:
-
长话短说:你不能,privilege escalation must be general。这是众所周知的 ansible 限制。