web-dev-qa-db-ja.com

ansibleを使用してユーザーを追加グループに追加する

ユーザーをansibleの追加グループに追加するにはどうすればよいですか?既存のグループセットを置き換える必要はありません。ユーザーをSudoグループに追加するだけです。

63
vdboor

ユーザーモジュール によると、これを使用できます。

- name: Adding user {{ user }}  
  user: name={{ user }}
        group={{ user }}
        Shell=/bin/bash
        password=${password}
        groups=Sudo
        append=yes

groups=groupnameおよびappend=yes作成時に既存のユーザーに追加します

50
art3mis

{{ user }}がすでにシステムに存在する場合は、次のコマンドを使用してグループに追加するだけです。

- name: adding existing user '{{ user }}' to group Sudo
  user:
    name: '{{ user }}'
    groups: Sudo
    append: yes

一連のグループに追加するには、コンマ区切りのリストを使用できます(例:groups: admin,Sudo)。

sermod man page によると、append: yesを省略した場合、ユーザーは他のすべてのグループから削除されることに注意してください。これは、ユーザーが属するグループの特定のリストを使用する場合に役立ちます。

85
Teresa e Junior

最近のAnsibleバージョンで{{ user }}{{ ansible_user }}に変更されたことに注意してください( https://github.com/ansible/ansible/blob/c600ab81ee/lib/ansible/playbook/play_context.py #L46-L55 )。または、ansible_ssh_userを使用することもできます-同じです。したがって、Teresa e Juniorから更新されたコードは次のようになります。

- name: adding existing user "{{ ansible_user }}" to group Sudo user: name: "{{ ansible_user }}" groups: Sudo append: yes become: yes

その他の修正:

  • 変数を展開するように二重引用符を使用します
  • グループファイルを変更するには管理者権限が必要なので、become: yesを追加します