Mi piacerebbe usare Ansible per gestire la configurazione di un nostro cluster Hadoop (con Red Hat in esecuzione).Ansible: avere sudo ma nessuna radice
Ho accesso sudo e posso manualmente ssh
nei nodi per eseguire comandi. Tuttavia, sto riscontrando problemi quando cerco di eseguire i moduli Ansible per eseguire le stesse attività. Anche se ho l'accesso sudo
, non posso diventare root. Quando provo ad eseguire script ansible che richiedono privilegi elevati, ottengo un errore come questo:
Siamo spiacenti, awoolford utente non è autorizzato a eseguire '/ bin/bash -c eco DIVENTARE-SUCCESSO [...]/usr/bin/python /tmp/ansible-tmp-1446662360.01-231435525506280/copy 'as awoolford su [some_hadoop_node].
Guardando attraverso il documentation, ho pensato che la proprietà become_allow_same_user
potrebbe risolvere questo problema, e così ho aggiunto il testo seguente ansible.cfg
:
[privilege_escalation]
become_allow_same_user=yes
Purtroppo, non ha funzionato.
Questo post suggerisce che ho bisogno di autorizzazioni per sudo /bin/sh
(o qualche altra shell). Sfortunatamente, questo non è possibile per motivi di sicurezza. Ecco un frammento da /etc/sudoers
:
root ALL=(ALL) ALL
awoolford ALL=(ALL) ALL, !SU, !SHELLS, !RESTRICT
Può ansible lavorare in un ambiente come questo? In tal caso, cosa sto sbagliando?
hai detto che puoi ssh manualmente sul nodo ed eseguire i comandi, quale utente è? – frank
Posso 'sudo [some_command]' come utente 'awoolford' a patto che non sia in uno degli elenchi'! '(Vedere lo snippet di'/etc/sudoers'). –
Puoi condividere un esempio di riproduzione/ruolo che genera l'errore? – ydaetskcoR