Оглавление:
Карта сайта:
Оглавление:
Карта сайта:
Это старая версия документа!
C помощью Ad-hoc команд — мы можем запускать различные действия из командной строки. Это самый простой и быстрый способ использования Ansible.
Проверить существование нового пользователя, создать нового пользователя если он не существует. В данном случае такой пользователь есть поэтому изменения в состоянии «changed»: false.
werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf state=present" demo 127.0.0.1 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "append": false, "changed": false, "comment": "werwolf", "group": 1000, "home": "/home/werwolf", "move_home": false, "name": "werwolf", "shell": "/bin/bash", "state": "present", "uid": 1000 }
# Проверить существование нового пользователя, создать нового пользователя если он не существует. В данном случае такой пользователь но для создания нового пользователя нехватает прав sudo, выскакивает ошибка.
werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" demo 127.0.0.1 | FAILED! => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "msg": "useradd: Permission denied.\nuseradd: cannot lock /etc/passwd; try again later.\n", "name": "werwolf2", "rc": 1 }
# Проверить существование нового пользователя, создать нового пользователя если он не существует. Передаем параметры для выполнения команды под sudo -b , и запрос пароля -K
werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" -b -K demo BECOME password: 127.0.0.1 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": true, "comment": "", "create_home": true, "group": 1001, "home": "/home/werwolf2", "name": "werwolf2", "shell": "/bin/sh", "state": "present", "system": false, "uid": 1001 }
# Удаляем пользователя.
werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=absent" -b -K demo BECOME password: 127.0.0.1 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": true, "force": false, "name": "werwolf2", "remove": false, "state": "absent" }
# Передаем параметры sudo черзе переменные среды -e «ansible_become=true ansible_become_password=123»
werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" -e "ansible_become=true ansible_become_password=123" demo 127.0.0.1 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": true, "comment": "", "create_home": true, "group": 1001, "home": "/home/werwolf2", "name": "werwolf2", "shell": "/bin/sh", "state": "present", "stderr": "useradd: warning: the home directory /home/werwolf2 already exists.\nuseradd: Not copying any file from skel directory into it.\n", "stderr_lines": [ "useradd: warning: the home directory /home/werwolf2 already exists.", "useradd: Not copying any file from skel directory into it." ], "system": false, "uid": 1001 } werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=absent" -e "ansible_become=true ansible_become_password=123" demo 127.0.0.1 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": true, "force": false, "name": "werwolf2", "remove": false, "state": "absent" }
hosts.ini
[demo] 127.0.0.1 ansible_user=werwolf ansible_port=2222 ansible_become=true ansible_become_password=123
werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" demo 127.0.0.1 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": true, "comment": "", "create_home": true, "group": 1001, "home": "/home/werwolf2", "name": "werwolf2", "shell": "/bin/sh", "state": "present", "stderr": "useradd: warning: the home directory /home/werwolf2 already exists.\nuseradd: Not copying any file from skel directory into it.\n", "stderr_lines": [ "useradd: warning: the home directory /home/werwolf2 already exists.", "useradd: Not copying any file from skel directory into it." ], "system": false, "uid": 1001 } werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=absent" demo 127.0.0.1 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": true, "force": false, "name": "werwolf2", "remove": false, "state": "absent" }