Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
linux:ansible:ad_hoc [2023/11/23 10:48] werwolf |
linux:ansible:ad_hoc [2023/11/23 11:08] (текущий) werwolf [Передаем параметры для выполнения команды под sudo] |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ==== Ad Hoc команды ==== | + | ===== Ad Hoc команды ===== |
| - | c помощью Ad-hoc команд — мы можем запускать различные действия из командной строки . Это самый простой и быстрый способ использования Ansible. | + | C помощью Ad-hoc команд — мы можем запускать различные действия из командной строки. Это самый простой и быстрый способ использования Ansible. |
| - | <code bash> | ||
| + | ==== Проверить существование нового пользователя, создать нового пользователя если он не существует ==== | ||
| + | В данном случае такой пользователь есть поэтому изменения в состоянии "changed": false. | ||
| + | <code bash> | ||
| werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf state=present" demo | werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf state=present" demo | ||
| 127.0.0.1 | SUCCESS => { | 127.0.0.1 | SUCCESS => { | ||
| Строка 21: | Строка 23: | ||
| "uid": 1000 | "uid": 1000 | ||
| } | } | ||
| + | </code> | ||
| + | |||
| + | |||
| + | В данном случае такого пользователя нет, но для создания нового пользователя нехватает прав sudo, выскакивает ошибка. | ||
| + | <code bash> | ||
| werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" demo | werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" demo | ||
| 127.0.0.1 | FAILED! => { | 127.0.0.1 | FAILED! => { | ||
| Строка 31: | Строка 38: | ||
| "rc": 1 | "rc": 1 | ||
| } | } | ||
| + | </code> | ||
| + | |||
| + | ==== Передаем параметры для выполнения команды под sudo ==== | ||
| + | Передаем параметры для выполнения команды под sudo '' -b '', и запрос пароля '' -K '' | ||
| + | <code bash> | ||
| werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" -b -K demo | werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" -b -K demo | ||
| BECOME password: | BECOME password: | ||
| Строка 48: | Строка 60: | ||
| "uid": 1001 | "uid": 1001 | ||
| } | } | ||
| + | </code> | ||
| + | |||
| + | |||
| + | Удаляем пользователя. | ||
| + | <code bash> | ||
| werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=absent" -b -K demo | werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=absent" -b -K demo | ||
| BECOME password: | BECOME password: | ||
| Строка 60: | Строка 77: | ||
| "state": "absent" | "state": "absent" | ||
| } | } | ||
| + | </code> | ||
| + | |||
| + | ==== Передаем параметры sudo через переменные среды ==== | ||
| + | Передаем параметры sudo через переменные среды ''-e "ansible_become=true ansible_become_password=123"'' | ||
| + | <code bash> | ||
| 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 | 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 => { | 127.0.0.1 | CHANGED => { | ||
| Строка 81: | Строка 103: | ||
| "uid": 1001 | "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 | 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 => { | 127.0.0.1 | CHANGED => { | ||
| Строка 92: | Строка 116: | ||
| "state": "absent" | "state": "absent" | ||
| } | } | ||
| + | </code> | ||
| + | |||
| + | ==== Передаем параметры sudo через inventory файл ==== | ||
| + | |||
| + | hosts.ini | ||
| + | <code ini> | ||
| + | [demo] | ||
| + | 127.0.0.1 ansible_user=werwolf ansible_port=2222 ansible_become=true ansible_become_password=123 | ||
| + | </code> | ||
| + | |||
| + | <code bash> | ||
| werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" demo | werwolf@werwolf-System-Product-Name:~/ansible-demo$ ansible -i hosts.ini -m user -a "name=werwolf2 state=present" demo | ||
| 127.0.0.1 | CHANGED => { | 127.0.0.1 | CHANGED => { | ||
| Строка 128: | Строка 163: | ||
| - | hosts.ini | ||
| - | <code yaml> | ||
| - | [demo] | ||
| - | 127.0.0.1 ansible_user=werwolf ansible_port=2222 ansible_become=true ansible_become_password=123 | ||
| - | </code> | ||