Ansible-playbook 使用普通用户登录远程节点并执行操作

本文介绍了如何在Ansible中使用普通用户登录远程节点,并通过配置`ansible-playbook`来执行操作,包括指定hosts文件、设置`become`选项以切换至root用户,以及执行copy和shell任务。
摘要由CSDN通过智能技术生成

Ansible-playbook 使用普通用户登录远程节点并执行操作

在实际生产环境中,经常会使用ansible远程操作节点,而这些远程节点往往会只允许普通用户操作,有的环境中可以切换root进行操作 ,下面就是介绍使用普通用户登录远程节点后切换root进行操作

hosts文件

hosts文件中指定的是远程节点的ip地址和用户名密码等信息,也可以自定义变量,默认 /etc/ansible/hosts 中配置主机信息,也可以自己指定

[cluster]
192.168.1.19 ansible_ssh_port=121 ansible_ssh_user=xxx hostname=hostname9  ansible_ssh_pass='xxxx' ansible_become_pass="xxx"  
192.168.1.10 ansible_ssh_port=121 ansible_ssh_user=xxx hostname=hostname0  ansible_ssh_pass='xxxx' ansible_become_pass="xxx"  
192.168.1.11 ansible_ssh_port=121 ansible_ssh_user=xxx hostname=hostname1  ansible_ssh_pass='xxxx' ansible_become_pass="xxx" 

ansible-playbook 配置文件

ansible-playbook 配置文件是执行具体命令的剧本,下面是示例 test.yml

---
- hosts: cluster
  remote_user: xxx
  
  gather_facts: True
  become: yes  #表示是否允许用户切换
  become_method: su  #表示切换用户的方式,有su/sudo/pbrun等方式,默认是sudo方式
  become_user: root  #表示要切换到哪个用户,即目标用户
  tasks:
    - name: copy 
      copy:
        src: /tmp/file
        dest: /usr/bin/
    - name: shell
      shell: chmod +x /usr/bin/file
    - name: shell
      shell: chown yyy:yyy /usr/bin/file

执行

# hosts文件可选,不单独指定就是读取 /etc/ansible/hosts中的文件
ansible-playbook test.yml [ -i hosts文件]

上面的xxx,yyy均是用户,为了脱敏使用的,在实际的环境中替换成具体的用户名和密码 ,over

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值