2
我简单ansible剧本执行使用sudo特权任务ansible剧本
- hosts: all
remote_user: myusername
become: yes
become_user: myusername
become_method: sudo
tasks:
- name: Install tmux
apt: name=tmux state=present
我得到下面的错误,同时运行的剧本。
TASK: [Install tmux] **********************************************************
failed: [104.239.140.237] => {"failed": true}
stderr: E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
我提到http://docs.ansible.com/ansible/become.html升级用户的特权。
用户'myusername'属于sudo组。
$ sudo -l -U myusername
User myusername may run the following commands on this host:
(ALL : ALL) ALL
我能够在控制台上使用以下命令成功安装tmux。不确定我在执行剧本时是否缺少了什么。
$ sudo apt-get install tmux
Reading package lists... Done
Building dependency tree
Reading state information... Done
我认为,你跑了主机'须藤-l -U myusername'是远程ansible目标,而不是你正在运行的'ansible-playbook'的人吗?或者它是同一个主机? –
它是远程节点。 –