SSHからアクセスできるユーザーが1人だけいる(彼をfooと呼ぶことにする)重要な数のホストを管理し、特権コマンドを実行するためにrootとしてログインする必要があります。
FooユーザーはSudo権限を一切持っていないため、特権コマンドを実行するにはrootとしてログインする必要があります。私は実際にこのスクリプトを実行するために期待スクリプトを使用しており(sshログインとしてfoo、rootとしてsu経由でログイン)、Ansibleに切り替えたいと考えています。私は新しいユーザーを作成して彼にSudo権限を与えることも、基本的にfooにSudo権限を与えることもできることを知っていますが、Ansibleで期待しているのと同じことを行うことはできますか?
Fooとしてssh接続を行い、プレイブックまたは任意の種類のアドホックコマンドをrootとして実行します。 Ansibleのドキュメントにそれに関する情報は見つからなかったので、誰かがこの種の尋問を既に受けているかどうかをここで尋ねます。
ansible
では、Sudo
またはsu
を使用できます。
- hosts: example.com
gather_facts: False
su: yes
su_user: root
tasks:
- Shell: whoami
コマンドラインからも実行できます。
ansible-playbook --su --su-user=root --ask-su-pass playbook.yml
この機能は このプルリクエスト 以降利用可能で、現在の1.6.6に存在します。