Chciałbym użyć Ansible do zarządzania konfiguracją naszego klastra Hadoop (z systemem Red Hat).Odpowiedz: sudo, ale bez korzenia
Mam dostęp do sudo i mogę ręcznie ssh
do węzłów do wykonywania poleceń. Jednak występują problemy podczas próby uruchomienia modułów Ansible w celu wykonania tych samych zadań. Chociaż mam dostęp sudo
, nie mogę zostać rootem. Kiedy próbuję wykonać skrypty ansibl wymagające podwyższonych uprawnień, pojawia się błąd jak poniżej:
Niestety, awoolford użytkownik nie może wykonać „/ bin/bash -c-echo ZOSTAŃ został pomyślnie [...]/usr/bin/python /tmp/ansible-tmp-1446662360.01-231435525506280/copy 'as awoolford na [some_hadoop_node].
Patrząc przez documentation, myślałem, że nieruchomość become_allow_same_user
może rozwiązać ten problem, a więc dodałem do ansible.cfg
następujące:
[privilege_escalation]
become_allow_same_user=yes
Niestety, to nie działa.
Ten post sugeruje, że potrzebuję uprawnień do sudo /bin/sh
(lub innej powłoki). Niestety nie jest to możliwe ze względów bezpieczeństwa. Oto urywek z /etc/sudoers
:
root ALL=(ALL) ALL
awoolford ALL=(ALL) ALL, !SU, !SHELLS, !RESTRICT
Czy ansibl pracę w środowisku, jak to? Jeśli tak, co robię źle?
Powiedziałeś, że możesz ręcznie ssh do węzła i wykonać polecenia, który to jest użytkownik? – frank
Mogę 'sudo [some_command]' jako użytkownik 'awoolford' pod warunkiem, że nie znajduje się on na żadnej z list'! '(Patrz fragment z'/etc/sudoers'). –
Czy możesz udostępnić przykładową grę/rolę, która zgłasza błąd? – ydaetskcoR