Ansible一直想成为根
我是Ansible的初学者,需要在远程服务器上运行一些基本任务 程序如下:Ansible一直想成为根,ansible,Ansible,我是Ansible的初学者,需要在远程服务器上运行一些基本任务 程序如下: --- - hosts: qualif vars: - ansible_user: osadmin - ansible_password: H1g2.D6# tasks: - name: Copy stuff from here to over there copy: src: /home/osadmin/file.txt dest: /home/o
---
- hosts: qualif
vars:
- ansible_user: osadmin
- ansible_password: H1g2.D6#
tasks:
- name: Copy stuff from here to over there
copy:
src: /home/osadmin/file.txt
dest: /home/osadmin/file-changed.txt
owner: osadmin
group: osadmin
mode: 0777
- 我以某个用户的身份登录(osadmin)
- 我运行
成为root用户su-
- 然后我做我需要做的任务
---
- hosts: qualif
vars:
- ansible_user: osadmin
- ansible_password: H1g2.D6#
tasks:
- name: Copy stuff from here to over there
copy:
src: /home/osadmin/file.txt
dest: /home/osadmin/file-changed.txt
owner: osadmin
group: osadmin
mode: 0777
另外,我在vars/main.yml中有以下内容:
ansible_user: osadmin
ansible_password: password1
ansible_become_password: password2
[ some other values ]
但是,在运行我的任务时,Ansible/hosts会返回以下信息:
“sudo密码不正确”
然后,我更改了任务,这样我就可以在/home/osadmin
上复制文件,而不是变成sudo并在我的osadmin无法访问的地方复制文件。因此,从理论上讲,没有必要为了一个简单的副本而成为sudo。
现在的问题是,它不仅不断地说“错误的sudo密码”,而且如果我删除它,Ansible会要求它
然后我决定运行该命令,并在最后添加了-vvv
,它向我展示了以下内容:
为用户osadmin建立SSH连接
SSH:EXEC sshpass-d10 SSH-C-o ControlMaster=auto-o ControlPersist=60s-o User=osadmin-o ConnectTimeout=10-o ControlPath=/home/osadmin/.ansible/cp/b9489e2193-tt HOST-ADDRESS'/bin/sh-C''S sudo-H-S-n-u
root/bin/sh-c''''''''''''''''''''''''''''echo成为成功的ewujwywrqhcqfdrkaglvrouhmuiefwlj/usr/bin/python/home/osadmin/.ansible/tmp/ansible-tmp-1550076004.1888492-11284794413477/AnsiballZ_setup.py''''''''''''和睡眠0'''''
(1,b'sudo:需要密码,\r\n',b'到主机地址的共享连接已关闭。\r\n')
正如你所见,它不知怎么地使用了root,而我从来没有告诉过他
有人知道为什么Ansible一直试图成为sudo吗?我如何才能禁用它
提前谢谢你su和sudo是有区别的。如果您具有“su”访问权限,这意味着您可以以root用户身份登录(可能不是,但看起来像)。使用
ansible\u ssh\u user=root
,ansible\u password=password2
如果这不起作用,请尝试在服务器上配置sudo。您应该能够运行sudowhoami
并获得答案root
。之后,您的代码应该运行
还有一件事:您错误地使用了“复制”模块。它使用
src
作为本地机器上的路径(ansible运行的地方),使用dst
作为远程机器上的路径。您是否尝试过been:false
?检查资源清册和playbook目录中的组变量和主机变量我最终通过配置我的用户以使其具有sudo权限来结束。我不再有问题了,谢谢:)