Mam pewne trudności w dostosowaniu konfiguracji Ansible do mojego środowiska.Odpowiedzialny SSH jako jeden użytkownik i Sudo jako inny
Moje badania środowiska:
- PermitRootLogin nie
- Tylko jeden użytkownik może połączyć się przez SSH (foo, bez żadnych przywilejów)
- użytkownik z uprawnieniami sudo (bar ALL = (ALL) ALL)
Moja ansibl inwentarz gospodarza wygląda następująco:
[servers]
server1 ansible_ssh_host=192.168.0.1 ansible_sudo=true ansible_ssh_user=foo ansible_sudo_user=bar
Mam klucz SSH dla użytkownika foo.
Gdy próbuję tego polecenia ad hoc (lub jakiegokolwiek innego) z hasłem bar:
ansible server1 -m raw -a "echo test > /etc/testfile" --ask-sudo-pass
server1 | FAILED => Incorrect sudo password
Następnie, jeśli to zrobię to samo polecenie z hasłem foo:
ansible server1 -m raw -a "echo test > /etc/testfile" --ask-sudo-pass
Sorry, user foo is not allowed to execute '/bin/bash -c echo SUDO-SUCCESS-rlpfhamukjnsfyokqbjpbttviiuildif; echo test > /etc/testfile' as bar on server1.
Więc ansibl pewno korzystać foo jako użytkownik sudo, a nie tak, jak wskazałem. Czy istnieje sposób na wymuszenie używania paska zamiast foo? I naprawdę nie rozumiem funkcjonalność sudo na ansibl, nawet jeśli mogę użyć tego samego użytkownika na wszystko (bar dla SSH i hasło bar) ansibl dawania zwraca mi:
server1 | FAILED | rc=1 >>
echo test > /etc/testfile : Permission denied
Kiedy jestem zalogowaniu jak na moim pasku host i robi "sudo echo test>/etc/testfile" prosi mnie o hasło do paska i wykonuje polecenie poprawnie. Gdzie się mylę z zachowaniem Ansible?