最近、ansibleを使い始めました。サーバーxyz.comのように、アプリケーションがさまざまなユーザーの下でセットアップされているサーバーがあり、UNIXユーザーはxyz_userなどです。
したがって、xyz.comの場合、
ansible xyz.com -a 'command' -u xyz_user -K
サーバーに定義された特定のユーザーに自動的にSudoを実行できるように、Ansible構成でSudoユーザーをどのように設定できますか?
あなたはこれらの種類のもののためにansibleプレイブックを活用することができます。
例えば.
---
- hosts: Host1:Host2
user: user1
Sudo: yes
tasks:
- name: update package list
action: command /usr/bin/apt-get update
- name: upgrade packages
action: command /usr/bin/apt-get -u -y dist-upgrade
- hosts: Host3
user: ubuntu
Sudo: yes
tasks:
- name: update package list
action: command /usr/bin/apt-get update
- name: upgrade packages
action: command /usr/bin/apt-get -u -y dist-upgrade
それがあなたのために働くことを願っています:)
インベントリまたはグループ変数に基づいてホスト変数を使用することをお勧めします。これにより、ホストごとまたはホストのグループごとにsshユーザーを設定できます。このアプローチの利点は、プレイブックに対して透過的であることです。プレイブックでは、アクセスするのではなく、インストールすることだけを心配する必要があります。
ホストとグループでユーザーを設定する方法の例:
[xyz]
www.xyz.com ansible_ssh_user=xyz_user
[abc]
www.abc.com
[abc:vars]
ansible_ssh_user=abc_user
そして、これは私よりはるかにうまく機能する方法を説明するドキュメントです: http://docs.ansible.com/intro_inventory.html