利用ansible修改机群密码

利用ansible修改多机密码,并保存到文件中,其中用到了生成密码的python脚本,也可以自己写。

---
#######注意需要取ip地址的网卡接口是否正确,不同的公司有所不同###
- hosts: "{{ hosts }}"
  vars:
    change_user: sunbo
    passwd_file_path: /tmp/password.txt
  tasks:
    - name: End symbol
      shell: echo "{{ ansible_eth0.ipv4.address }}"|awk -F. '{print $3"-"$4}'
      register: symbol
      when: ansible_os_family == "RedHat" and ansible_distribution_major_version|int < 7
    - name: End symbol
      shell: echo "{{ ansible_eno16777736.ipv4.address }}"|awk -F. '{print $3"-"$4}'
      register: symbol


    - name: generate password
      local_action: command /usr/bin/python /etc/ansible/playbooks/passwd/passwd.py
      register: password
    - debug: msg="{{ inventory_hostname }}" 
    - debug: var="password.stdout"
      when: ansible_os_family == "RedHat" and ansible_distribution_major_version|int >= 7


    - name: Encryption string
      local_action: command /usr/bin/python -c "import crypt; print crypt.crypt('''{{ password.stdout }}{{ symbol.stdout }}''')"
      register: passwd
    - name: change root password
      user: name={{ change_user }} password={{ passwd.stdout }} update_password=always

    - name: save the password
      local_action: lineinfile  dest="{{ passwd_file_path }}"  line="{{ inventory_hostname }}      {{ password.stdout }}{{ symbol.stdout }}" create=yes state=present


你可能感兴趣的:(利用ansible修改机群密码)