Ansible批量创建账号

Mar 18, 2024

首先安装ansible:

$ sudo yum install -y ansible

也可以使用pip:

$ pip install ansible

安装完成后,使用ansible --version可以查看到ansible的版本和配置文件等路径;

检查是否安装了ansible

接下来是创建一个文本(inventory),维护所有需要管理的主机,可以在这给主机分组,批量执行的时候根据分组来执行;设置host时候可以用ip段,详见Inventory配置文档

host ansible_port=ssh_port ansible_user=user ansible_password=passwd

ansible -i hosts all -m ping测试是否管理到所有主机了,然后就可以编写playbook来创建用户了:

---
- name: playbook
  hosts: all
  vars:
    user: username
    passwd: hashed_passwd
  tasks:
    - name: create-user
      user: name={{user}} password={{passwd}}
    - name: add-sudo
      lineinfile: dest=/etc/sudoers state=present line='{{item}}' validate='visudo -cf %s'
      with_items:
        - "{{user}} ALL=(ALL) ALL"
  become: yes

使用user模块创建用户,并且添加到sudoers中。(仅供参考,非需要不必给予sudo权限)