ユーザーおよび実行としてのssshはルートを持っています(期待どおり)


8

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

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

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

回答:


13

ではansiblesudoまたはを使用できます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に含まれています。


1
ありがとう。ホストごとにどのように異なるsuパスワードを設定できますか?ansible_su_passは存在しません
Arka

ansible su passを選択する方法を見つけましたか?
jeremieca

ansible 1.9.4以降、ホストごとに異なるパスワードを設定することはできません。ただし、異なるSSHキーを使用できます。
bschlueter 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.