【发布时间】:2019-07-07 10:54:16
【问题描述】:
我是 Ansible 的初学者,我需要在远程服务器上运行一些基本任务。
程序如下:
- 我以某个用户 (osadmin) 身份登录
- 我运行
su -成为root - 然后我会做我需要做的任务。
所以,我的剧本如下:
---
- name: Some tasks
become: yes
become_user: root
# become_method: su // Also tried with that.
template: src=repo.j2 dest=/etc/yum.repos.d/test.repo owner=root group=root
register: copy
另外,我在vars/main.yml 中有以下内容:
ansible_user: osadmin
ansible_password: password1
ansible_become_password: password2
[ some other values ]
但是,在运行我的任务时,Ansible / 主机会返回以下内容:
“sudo 密码错误”
虽然我确定我给了它正确的密码。所以,我想我没有正确地这样做。
通过su 切换到root 的正确方法是什么?
提前谢谢你
【问题讨论】:
-
要成为root用户,您需要提供root用户的密码,这不是最好的选择。相反,如果他具有 root 权限,您可以使用您的
osadmin用户。 -
root的密码是
ansible_become_password提供的,但不知怎么的说密码不好 -
无论如何,如果您有 root 权限,推荐的方法是在机器上使用您的用户,这样您就可以一起省略
become_user -
我尝试登录的用户没有 root 权限,但可以通过
su -以 root 身份“登录”。我看到了推荐的方式,但不知何故 Ansible 不允许我这样做.. -
@Jaeger 能否提供文件夹结构?
标签: ansible