Тег архивов:make_become_cmd

Ansible и restricted sudo

Ansible и restricted sudo

Здесь я хотел бы поделиться мыслями по поводу использования ansible2.1 в среде с ограниченными sudo правами (ansible+limited sudo), a именно использование ansible пользователями у которых есть только ограниченный набор sudo команд. К таким пользователям можно отнести например, девелоперов и саппорот команды. Особенно яркое разделение ролей можно увидеть в крупных компаниях, где есть например админы с root правами (отвечают за инфраструктуру и provisioning серверов), где есть operations команды (отвечают за поддержку приложений, баз данных и т.д), девелоперы (отвечают за деплой и траблшутинг приложений). У этих “бесправных” пользователей есть определенный набор sudo команд, которых в принципе достаточно для выполнения своих задач. Но когда ферма приложения состоит из 50 серверов и хостится где-нибудь в AWS+Autoscaling, и есть необходимость отрестартить сервис, то ansible с его AWS инвентори сильно облегчит работу. Но как я уже упомянул есть проблема, а именно если пользователю разрешен только ограниченный набор sudo команд, то использование ansible не всегда будет возможным, т.к ansible отсылает на сервер Python код который нужно выполнить, а /usr/bin/python не добавлен в sudo. Можно попробовать использовать модуль raw, но и тут есть проблема, ansible попытается  выполнить команду через /bin/sh –c, а /bin/sh или /bin/bash также не добавлены в sudo.

Читать далее...