Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
linux:ansible:ad_hoc [2023/11/23 10:58] 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. | ||
| - | # Проверить существование нового пользователя, создать нового пользователя если он не существует. В данном случае такой пользователь есть поэтому | + | |
| - | изменения в состоянии "changed": false. | + | ==== Проверить существование нового пользователя, создать нового пользователя если он не существует ==== |
| + | В данном случае такой пользователь есть поэтому изменения в состоянии "changed": false. | ||
| <code bash> | <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 | ||
| Строка 25: | Строка 26: | ||
| - | # Проверить существование нового пользователя, создать нового пользователя если он не существует. В данном случае такой пользователь но для создания нового пользователя нехватает прав sudo, выскакивает ошибка. | + | В данном случае такого пользователя нет, но для создания нового пользователя нехватает прав sudo, выскакивает ошибка. |
| <code bash> | <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 | ||
| Строка 39: | Строка 40: | ||
| </code> | </code> | ||
| - | # Проверить существование нового пользователя, создать нового пользователя если он не существует. Передаем параметры для выполнения команды по sudo '' -b '', и запрос пароля '' -K '' | + | ==== Передаем параметры для выполнения команды под sudo ==== |
| + | Передаем параметры для выполнения команды под sudo '' -b '', и запрос пароля '' -K '' | ||
| <code bash> | <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 | ||
| Строка 58: | Строка 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: | ||
| Строка 70: | Строка 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 => { | ||
| Строка 91: | Строка 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 => { | ||
| Строка 102: | Строка 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 => { | ||
| Строка 138: | Строка 163: | ||
| - | hosts.ini | ||
| - | <code ini> | ||
| - | [demo] | ||
| - | 127.0.0.1 ansible_user=werwolf ansible_port=2222 ansible_become=true ansible_become_password=123 | ||
| - | </code> | ||