如何解决以编程方式为运行 ansible-playbook 创建 sudo 规则
如何为 ansible-playbook
正在使用的所有可能命令创建一个列表,以便我可以创建一个 sudoers
文件?
为了测试剧本,我暂时在 /etc/sudoers.d
中创建了一个条目:
tempuser ALL=(ALL:ALL) nopASSWD:ALL
但是有没有插件或方法来获取命令列表,以便我以后可以创建一个列表
tempuser ALL= nopASSWD: /bin/systemctl start mariadb.service
...
有什么想法吗?
解决方法
如果您打算通过 ansible 使用权限提升,那么 privilege escalation must be general
您不能限制某些命令的提权权限。 Ansible 并不总是使用特定的命令来做某事,而是从每次更改的临时文件名运行模块(代码)。如果您将‘/sbin/service’或‘/bin/chmod’作为允许的命令,这将因ansible而失败,因为这些路径与Ansible为运行模块而创建的临时文件不匹配。如果您的安全规则将 sudo/pbrun/doas 环境限制为仅运行特定的命令路径,请从没有此限制的特殊帐户中使用 Ansible,或使用 Red Hat Ansible Tower 来管理对 SSH 凭据的间接访问。>
如上述文档引用所示,这是该工具众所周知的限制。如果这是您环境中的问题,请查看文档引用中的上述解决方法,或者根本不使用 ansible。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。