![비밀번호 없는 sudo가 활성화된 경우에도 "sudo 비밀번호 누락"이 가능합니다.](https://rvso.com/image/760959/%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%20%EC%97%86%EB%8A%94%20sudo%EA%B0%80%20%ED%99%9C%EC%84%B1%ED%99%94%EB%90%9C%20%EA%B2%BD%EC%9A%B0%EC%97%90%EB%8F%84%20%22sudo%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%20%EB%88%84%EB%9D%BD%22%EC%9D%B4%20%EA%B0%80%EB%8A%A5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
내 sudoers 파일에 있습니다
ALL ALL = (ALL) NOPASSWD: ALL
누구나 비밀번호를 입력하지 않고도 sudo를 사용할 수 있습니다. 그리고 머신에 ssh 접속 시 비밀번호 없이 sudo가 가능한 것을 확인했습니다.
그러나 플레이북을 실행하려고 하면 "sudo 비밀번호 누락" 오류가 발생합니다.
내가 실행하는 데 사용하는 명령은
ansible-playbook -i inventory.yaml common_install.yaml --limit vpn.lan.example.com -vvv
나는 동일한 명령을 실행하여 동일한 sudo 규칙을 가지고 있고 둘 다 Ubuntu 20.04를 실행하는 다른 호스트로 제한하여 작동합니다. 하지만 이 호스트에서는 작동하지 않습니다.
왜 작동하지 않습니까?
답변1
사용자 이름 및 비밀번호 값/파일로 group_vars 또는 host_vars 디렉토리를 채우지 않았을 수 있습니다.
group_vars 디렉토리의 예:
노드.yml
ansible_port: 22
ansible_user: username
ansible_password: password
ansible_connection: ssh
ansible_become_pass: otherPassword
참고: group_vars/host_vars 디렉토리의 변수에는 다음과 같은 파일이 포함되어 있습니다.변수만키워드를 포함하지 마세요 vars:
. 그렇지 않으면 다른 변수가 무시됩니다.