我想运行Ansible剧本来配置服务器。我可以以非root用户身份进入服务器。我有sudo特权,但不允许切换到root用户。我实际上只是想执行sudo mkdir /opt/some_directory
(当我在服务器中ssh并执行命令时,该命令有效)。
我认为,使用become:true
会导致尝试切换到root用户并创建目录的错误。
代码:
- name: "Info: Creating directory."
become: true
file:
path: "{{ directory }}"
state: directory
mode: '0755'
我得到的错误是Sorry, user xxxxx is not allowed to execute '/bin/sh -c echo BECOME-SUCCESS...
答案 0 :(得分:0)
问:“是否有Ansible的替代方法:是?我有sudo特权,但我不允许切换到root 用户。我实际上只是想要执行sudo mkdir / opt / some_directory ...”
A:否。引用Can’t limit escalation to certain commands
“ 特权升级权限必须是常规的 ...如果您将“ / sbin / service”或“ / bin / chmod”作为允许的命令,则此操作将失败“ ...