配置Rundeck Ansible节点遇权限问题:如何自定义文件夹权限
Rundeck配置Ansible时的节点源权限问题
错误信息
ERROR: Ansible IO failure: Cannot run program "/etc/ansible/ansible-playbook" (in directory "/tmp/rundeck/ansible-hosts4006878119537487113"): error=2, No such file or directory
排查发现/tmp/rundeck目录已创建但权限不正确,询问能否在Ansible或Rundeck中定义文件夹创建时的权限。
解决方法
修正现有目录权限
先手动修复当前/tmp/rundeck的权限,确保rundeck用户拥有完整访问权:sudo chown rundeck:rundeck /tmp/rundeck sudo chmod 755 /tmp/rundeck在Rundeck中配置临时目录默认权限
Rundeck支持通过配置文件指定临时目录的权限:- 编辑Rundeck主配置文件
/etc/rundeck/rundeck-config.properties - 添加或修改以下参数(示例设置为755权限):
rundeck.tmp.dir.permissions=755 - 重启Rundeck服务使配置生效:
sudo systemctl restart rundeckd
- 编辑Rundeck主配置文件
验证Ansible Playbook路径正确性
错误提示中提到的/etc/ansible/ansible-playbook可能路径有误,先确认Ansible Playbook的实际位置:which ansible-playbook如果实际路径不同(例如
/usr/bin/ansible-playbook),需在Rundeck的Ansible节点源配置中更新为正确路径。调整系统临时目录默认权限(可选)
若系统/tmp目录默认权限过严,可修改/etc/login.defs中的UMASK值为022,这样新创建的临时目录默认权限为755。注意此操作会影响所有系统临时目录,需谨慎执行。
内容的提问来源于stack exchange,提问作者Laurin
相关产品推荐
相关产品推荐

