Ansible을 사용하려고 하는데 sudo에서는 작동하지 못하는 것 같습니다. 나는 문제를 다음과 같이 최소화했습니다.
이것은 작동하지 않습니다:
ansible localhost --ask-become-pass -m shell -a "cat /var/log/syslog"
다음과 같이 출력됩니다. 비밀번호를 입력하면 오류가 발생합니다.
SUDO password:
localhost | FAILED | rc=1 >>
cat: /var/log/syslog: Permission denied
이것들은 잘 작동합니다:
ssh -t localhost sudo cat /var/log/syslog #without ansible
ansible localhost -m shell -a "ls" #without sudo
기타 진단:
#expecting last line to be `root`
ansible localhost --become-user=root --ask-become-pass -m shell -a "whoami"
올바른 비밀번호를 입력하면 이 출력이 제공됩니다.
SUDO password:
localhost | SUCCESS | rc=0 >>
richard
답변1
실행할 때 명령에 이것을 추가하려고 할 수 있습니다.--ask-become-pass
그래서,ansible yoga --become-user=root --ask-become-pass -m shell -a "cat /var/log/syslog"
답변2
충분하지 않은 것 같습니다 --ask-become-pass
. 매개변수도 필요합니다 --become
. 따라서 명령은 다음과 같습니다 ansible localhost --become --ask-become-pass -m shell -a "cat /var/log/syslog"
.
나는 또한 필요하지 않다는 것을 알았습니다 --ask-become-pass
. 비밀번호가 캐시된 것처럼 보입니다 sudo
.