Инструменты пользователя

Инструменты сайта


linux:ansible:ad_hoc

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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 команды ​=====
  
-помощью Ad-hoc команд — мы можем запускать различные действия из командной строки . Это самый простой и быстрый способ использования Ansible. ​+помощью 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>​ 
linux/ansible/ad_hoc.1700725685.txt.gz · Последние изменения: 2023/11/23 10:48 — werwolf