@pro_ansible

Страница 623 из 625
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 И все должно быть ок при текущих настройках

⚓D
25.10.2018
16:44:18
хотелось бы по понятием с модулем)
Кажется нет внятного способа ограничить права на уровне sudoers?‍♂

Igor
25.10.2018
16:45:34
Кажется нет внятного способа ограничить права на уровне sudoers?‍♂
печаль конечно, я с ансибл не очень пока хорошо знаком, но это логично ограничвать права учётке для установки по и рестарта сервиса

Stepan T.
25.10.2018
16:47:13
Кажется нет внятного способа ограничить права на уровне sudoers?‍♂
Есть, но способ так сказать уникальный авторский

То есть костыльный

Связкой 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. Это не баш.

Через systemd? Policy kit?
Да, как вариант

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 не вызывает

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
А еще лучше - просто дать права ансибловому юзеру делать sudo на рута
не хотелось бы передавать по сети такого юзера

Timur
25.10.2018
16:56:26
Тогда сделайте другого юзера с соответствующими правами и переключайтесь с помощью become на него

Google
Stepan T.
25.10.2018
16:57:00
Погодите, ансибл работает из под пользователя, под которым подключился по ссш, с правами, соответственно, этого пользователя

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
Чудесно. То есть если пользователю не давать права на запуск питона из под рута, то ансибл подключающийся к хостам с учётной записью пользователя будет работать в части модулей и программ которые ограниченны теми правилами, которые расписаны в политике sudo?
Если у пользователя, под которым подключился ансибл, нет права эскалировать привилегии любым способом (не только sudo), то ансибл будет выполняться только от этого юзера с его родными правами. Политики sudo для этого юзера ансиблу параллельны

Ансибл - это не баш

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
Вы неправильно использовали become, потому что
там не только бикам, там еще бикам метод, как можно неправильно использовать суду) и почему рпм в данной конфигурации с биками прокатывает суду?

⚓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
Timur
25.10.2018
17:16:30
Почему rpm у вас работает - я не знаю. Может, права у юзера есть соответствующие без sudo

а нет под рукой ссылки на эти подробности?
https://docs.ansible.com/ansible/2.7/user_guide/become.html

⚓D
25.10.2018
17:18:10
а нет под рукой ссылки на эти подробности?
Можно просто вызвать плейбук с -vvvv и увидеть команды которые выполняет ансибл

Timur
25.10.2018
17:18:55
Питоновский код там не увидишь :)

Igor
25.10.2018
17:19:00
https://docs.ansible.com/ansible/2.7/user_guide/become.html
спасибо, эту уже бегло листал

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 осень настала

Sasha
25.10.2018
17:26:47
Проитерироваться по чему-нибудь типа users: - username: jane keys: | Key1 Key2 - username: john keys: | Key3 Key4
я не могу разобраться как именно итерирование написать. получается что надо по пользователям идти, с этим ок authorized_key: user = {{ item.username }} state = present key = "{{ lookup('fileglob', 'files/public_keys/*').split(',') }}" with_items: '{{users}}' в вот эта часть key = "{{ lookup('fileglob', 'files/public_keys/*').split(',') }}" пока не работает. да, тут просто все клчи из папки пробую добавить пока что

Страница 623 из 625