web-dev-qa-db-ja.com

Ansible adhocコマンドはsudoで実行されます

Ansibleアドホックコマンドを実行する必要があります。

$ ansible somehost -m command -a "cat /etc/passwd"-u someuser --ask-Sudo-pass

Sudo特権を持つユーザーアカウント(someuser)を持っています。通常、私はルートSudo su -になりました。

アドホックコマンドをSudo su -で使用する方法

ansibleバージョンは2.0.0.2です

5

正しいansibleコマンドは

ansible all -mコマンド-a "docker info" -u myuser --become-user root --ask-pass --ask-become-pass

2

Ansibleバージョン1.9以降の場合は、代わりに--ask-become-passを使用する必要があります。古いバージョンの場合、--ask-Sudo-passが機能するはずです。

Become(Privilege Escalation)

1.9より前のAnsibleでは、ほとんどの場合Sudoの使用と、suの限定的な使用により、ログイン/リモートユーザーが別のユーザーになることができましたユーザーとタスクの実行、2番目のユーザーの権限を持つリソースの作成。 1.9以降は、下位互換性を維持しながら、古いSudo/suに取って代わります。この新しいシステムにより、pbrun(Powerbroker)、pfexecdzdo(Centrify)、その他。

4
Diamond

インベントリ内のサーバーと共有するSSHキーがあり、ルートにSudoしたい場合は、コマンドをさらに次のように減らすことができます。

$ ansible all -m command -a "docker info" -u myuser --become --ask-become-pass
4
slm