我如何创建ansible-playbook
使用的所有可能命令的列表,以便我可以创建sudoers
文件?
为了测试剧本,暂时在/etc/sudoers.d
中创建一个条目:
tempuser ALL=(ALL:ALL) NOPASSWD:ALL
但是是否有一个插件或方法可以获得命令列表,以便我以后可以创建一个像
这样的列表tempuser ALL= NOPASSWD: /bin/systemctl start mariadb.service
...
任何想法?
如果您打算在ansible中使用特权升级,那么特权升级必须是通用的
不能限制某些命令的特权升级权限。Ansible并不总是使用特定的命令来做某事,而是从每次更改的临时文件名运行模块(代码)。如果你有'/sbin/service '或'/bin/chmod '作为允许的命令,这将与ansible失败,因为这些路径与ansible创建的运行模块的临时文件不匹配。如果你的安全规则限制你的sudo/pbrun/doas环境只能运行特定的命令路径,那么从一个没有这个限制的特殊帐户使用Ansible,或者使用Red Hat Ansible Tower来管理对SSH凭证的间接访问。
如上面的文档引用所示,这是该工具的一个众所周知的限制。如果这在您的环境中是一个问题,请查看上述文档引用中建议的解决方案,或者根本不要使用ansible。