Ansible が sudo で動作しない

Ansible が sudo で動作しない

私は 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のようにキャッシュされていると思います。

関連情報