Igor
25.10.2018
16:30:36
рпм так накатывает по крайней мере от этого юзера
там права на установку тоже дал
⚓D
25.10.2018
16:34:18
Вроде нельзя ограничить список команд через судо для ансибл
Google
Timur
25.10.2018
16:34:29
become не стоит делать для переключения на юзера без рутовых прав
⚓D
25.10.2018
16:34:39
https://docs.ansible.com/ansible/2.5/user_guide/become.html#can-t-limit-escalation-to-certain-commands
Timur
25.10.2018
16:34:40
Огребете кучу проблем
ансибловому юзеру нельзя ограничивать права
Или не стоит пытаться делать этим юзером то, что требует повышения прав с помощью sudo
Igor
25.10.2018
16:36:51
Timur
25.10.2018
16:37:13
Тогда никакого become делать не надо
У юзера должны быть права на это без sudo
Igor
25.10.2018
16:37:53
передавать по ссш рута или привелигерованного пользователя не хотелось бы
Timur
25.10.2018
16:38:12
Рута не надо
Просто дайте права юзеру на рестарт сервиса без sudo
И уберите все become
Google
Timur
25.10.2018
16:38:42
Будет работать тогда
Igor
25.10.2018
16:39:32
а из мат части, тот синтаксис который я написал рабочий?
Timur
25.10.2018
16:40:07
Если become убрать - то да
Igor
25.10.2018
16:40:46
сейчас проверю то же самое на руте
⚓D
25.10.2018
16:43:08
Можно сделать
raw: sudo systemctl restart nginx
become: yes
И все должно быть ок при текущих настройках
Igor
25.10.2018
16:43:26
⚓D
25.10.2018
16:44:18
Igor
25.10.2018
16:45:34
Stepan T.
25.10.2018
16:47:13
То есть костыльный
Связкой FreeIPA + AWS
Сколько это будет стоить по затратам времени и сил - не знаю.
Timur
25.10.2018
16:48:21
Stepan T.
25.10.2018
16:49:06
Нужные это рут для запуска питона?
Timur
25.10.2018
16:49:28
Нет, это права на перезапуск сервисов
Igor
25.10.2018
16:49:32
Timur
25.10.2018
16:49:35
Хоть питоном, хоть как
Stepan T.
25.10.2018
16:50:21
Права на перезапуск сервисов ансиблом?
⚓D
25.10.2018
16:50:25
Google
Igor
25.10.2018
16:50:28
проверил, с рутом прокатывает, проблема в правах
Без sudo
проще тогда через комманд или шелл так понимаю
Timur
25.10.2018
16:51:35
дал, через суду)
Ансиблу пофиг ваш sudo. Он копирует питоновскую прогу на хост под своим юзером. Потом запускает ее под ним же. Если есть вызов become, то переключается на рута для запуска. Если указан специальный юзер - переключается на него. И запускает всю директиву от этого юзера. Ансибл не делает просто sudo systemctl. Это не баш.
Igor
25.10.2018
16:52:16
Timur
25.10.2018
16:52:40
⚓D
25.10.2018
16:52:42
Igor
25.10.2018
16:52:51
Timur
25.10.2018
16:53:31
Питоновский модуль для перезапуска сервиса никакое sudo не вызывает
Igor
25.10.2018
16:53:53
Timur
25.10.2018
16:54:02
Это не косяк
Это просто вы не понимаете, как работает ансибл, и хотите странного :)
Вам сказали, как можно решить проблему
Igor
25.10.2018
16:54:35
с устаноской рпм через модуль юма прокатило суду
Timur
25.10.2018
16:54:48
Либо давайте соответствующие права ансибловому юзеру без sudo
Либо тому юзеру, на которого делается sudo
Stepan T.
25.10.2018
16:55:13
Я буду благодарен за ссылку на объяснения как работает ансибл
Timur
25.10.2018
16:55:28
А еще лучше - просто дать права ансибловому юзеру делать sudo на рута
Igor
25.10.2018
16:55:52
Timur
25.10.2018
16:56:26
Тогда сделайте другого юзера с соответствующими правами и переключайтесь с помощью become на него
Google
Igor
25.10.2018
16:56:51
Stepan T.
25.10.2018
16:57:00
Погодите, ансибл работает из под пользователя, под которым подключился по ссш, с правами, соответственно, этого пользователя
Timur
25.10.2018
16:57:19
Igor
25.10.2018
16:57:32
Timur
25.10.2018
16:57:37
Igor
25.10.2018
16:57:43
mgr
Timur
25.10.2018
16:58:49
У юзера, которым вы подключаетесь, нет нужных прав
Чтобы получить нужный доступ, нужно переключиться на соответствующего юзера с нужными правами
Stepan T.
25.10.2018
16:59:23
Если пользователю дать права выполнять sudo systemctl но не дать выполнять, предположим, sudo apt, то пользователь сможет управлять службами, но не сможет ставить софт модулями ансибл?
Timur
25.10.2018
17:00:14
Если у пользователя есть право сделать sudo systemctl, то он просто становится рутом на время исполнения этой команды
Stepan T.
25.10.2018
17:01:08
Права на запуск тех или иных программ, я это так формулирую. По сути обе команды - это программы =)
Timur
25.10.2018
17:01:10
Но это работает только для этой конкретной команды
К правам на запуск питона это не относится :)
Stepan T.
25.10.2018
17:04:40
Чудесно. То есть если пользователю не давать права на запуск питона из под рута, то ансибл подключающийся к хостам с учётной записью пользователя будет работать в части модулей и программ которые ограниченны теми правилами, которые расписаны в политике sudo?
Написал конечно как насрал, но эти бесконечные авторизации и права доступа требуют такой вот казёнщины
Timur
25.10.2018
17:08:44
Ансибл - это не баш
Igor
25.10.2018
17:11:27
Timur
25.10.2018
17:12:59
Вы неправильно использовали become, потому что
Google
Timur
25.10.2018
17:13:49
become нужно использовать для переключения на юзера, у которого есть права на выполнение нужных действий (например, перезапуск сервиса)
А вы переключались с помощью become на своего же собственного юзера, и удивлялись, что у вас ничего не работает
Igor
25.10.2018
17:14:22
⚓D
25.10.2018
17:14:36
Become тут не нужен, это я неправильно написал, а не ansible
Sasha
25.10.2018
17:14:47
Подскажите, пожалуйста, в документации добавление нескольких ключей для пользователя выглядит так:
- name: Set up multiple authorized keys
authorized_key:
user: deploy
state: present
key: '{{ item }}'
with_file:
- public_keys/doe-jane
- public_keys/doe-john
А если есть список пользователей и каждому надо несколько ключей прописать, как тогда код выглядеть будет?
Timur
25.10.2018
17:15:48
Igor
25.10.2018
17:16:29
Timur
25.10.2018
17:16:30
Почему rpm у вас работает - я не знаю. Может, права у юзера есть соответствующие без sudo
⚓D
25.10.2018
17:18:10
Timur
25.10.2018
17:18:55
Питоновский код там не увидишь :)
Igor
25.10.2018
17:19:00
Timur
25.10.2018
17:20:00
В режиме дебага можно увидеть ключи, с которыми запускается ssh сессия и питоновские модули
Но что делает сам питон, там не увидишь - только результат в виде output и error
⚓D
25.10.2018
17:21:13
Timur
25.10.2018
17:22:15
Если интересно, как работает модуль systemd, то можно посмотреть в код
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/system/systemd.py
Igor
25.10.2018
17:22:34
спасибо!
bebebe
25.10.2018
17:23:15
ansible осень настала
⚓D
25.10.2018
17:23:44
Sasha
25.10.2018
17:26:47