web-dev-qa-db-ja.com

ユーザーおよび実行としてのAnsible sshにはルートがあります(期待どおり)

SSHからアクセスできるユーザーが1人だけいる(彼をfooと呼ぶことにする)重要な数のホストを管理し、特権コマンドを実行するためにrootとしてログインする必要があります。

FooユーザーはSudo権限を一切持っていないため、特権コマンドを実行するにはrootとしてログインする必要があります。私は実際にこのスクリプトを実行するために期待スクリプトを使用しており(sshログインとしてfoo、rootとしてsu経由でログイン)、Ansibleに切り替えたいと考えています。私は新しいユーザーを作成して彼にSudo権限を与えることも、基本的にfooにSudo権限を与えることもできることを知っていますが、Ansibleで期待しているのと同じことを行うことはできますか?

Fooとしてssh接続を行い、プレイブックまたは任意の種類のアドホックコマンドをrootとして実行します。 Ansibleのドキュメントにそれに関する情報は見つからなかったので、誰かがこの種の尋問を既に受けているかどうかをここで尋ねます。

8
Arka

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に存在します。

13
dawud