Я бы хотел использовать Ansible для управления конфигурацией нашего кластера Hadoop (работает Red Hat).Ansible: have sudo, но не root
У меня есть доступ к sudo и можно вручную установить ssh
в узлы для выполнения команд. Однако у меня возникают проблемы, когда я пытаюсь запустить модули Ansible для выполнения одних и тех же задач. Хотя у меня есть sudo
доступ, я не могу стать root. Когда я пытаюсь выполнить анзибль сценарии, которые требуют повышенных привилегий, я получаю сообщение об ошибке, как это:
К сожалению, пользователь awoolford не может выполнить «/ бен/Баш -c эхо СТАТЬ-успеш- [...]/usr/bin/python /tmp/ansible-tmp-1446662360.01-231435525506280/copy 'как awoolford на [some_hadoop_node].
Просматривая documentation, я думал, что become_allow_same_user
свойство может решить эту проблему, и поэтому я добавил следующее ansible.cfg
:
[privilege_escalation]
become_allow_same_user=yes
К сожалению, это не сработало.
Этот post предполагает, что мне нужны разрешения для sudo /bin/sh
(или какой-либо другой оболочки). К сожалению, это невозможно по соображениям безопасности. Вот отрывок из /etc/sudoers
:
root ALL=(ALL) ALL
awoolford ALL=(ALL) ALL, !SU, !SHELLS, !RESTRICT
Может анзибль работать в среде, как это? Если да, то что я делаю неправильно?
Вы сказали, что можете вручную ssh на узел и выполнить команды, какой пользователь это? – frank
Я могу 'sudo [some_command]' как пользователь 'awoolford', если он не находится в одном из списков'! '(См. Фрагмент из'/etc/sudoers'). –
Можете ли вы поделиться примером игры/роли, которая вызывает ошибку? – ydaetskcoR