Ansible で複数のグループにユーザーを追加するにはどうすればよいですか?

Ansible で複数のグループにユーザーを追加するにはどうすればよいですか?

ユーザーを複数のグループに追加できません。次のメッセージが表示され続けます: このモジュールには、キー = 値の引数が必要です。

私が試しているコードは次のとおりです:

- name: make a new user
  user: name=user
        state=present
        groups="group1", "group2", "group3"
        comment="comment"

ドキュメントには次のように書かれています: Groups= ユーザーをこのカンマ区切りのグループ リストに追加します。空の文字列 ('groups=') に設定すると、ユーザーはプライマリ グループを除くすべてのグループから削除されます。

「group」、「group」、コロンなしで試してみましたが、それでも同じエラーが発生します。

ユーザーモジュール

答え1

正しい構文は次のとおりです。

- name: make a new user
  user: name=user
        state=present
        groups="group1, group2, group3"
        comment="comment"

答え2

投稿したコードには 2 つの問題があります。

  1. に複数の値を渡すにはgroups、間にスペースを入れずにコンマで区切った値を使用します。groups: group1,group2
  2. YAMLでは、各キーを1行ずつ配置する場合、=forを入れ替えます。:

動作するコードの例を次に示します。

- name: make a new user
  user: 
    name: johnsmith
    state: present
    groups: group1,group2
    comment: "comment"
    append: no # If yes, will only add groups, not set them to just the list in groups.

答え3

グループ「group2」が存在しないというメッセージが表示されます。(ただし、引用符は不要です。これは余分なスペースを示すためです)。

正しい方法は

groups={{ group }},{{ sudo_group }}

答え4

上記の回答は誤りです。変数を定義する正しい方法は次のとおりです。

groups: group1,group2 

次に使用します:

action: user groups={{user.groups}}

関連情報