RH/Centシステム(例:useradd)でユーザー( ユーザーモジュール )を作成するためにAnsibleプレイブックを作成しようとしています。
新しいユーザーの「名前」パラメーター値と一致するようにグループ値を設定したにもかかわらず、グループパラメーターを含めるとプレイブックが失敗します。グループのパラメータ/値を省略すると、プレイブックは機能します。
ユーザー名(同じ値)と一致する独自のプライマリグループを持つユーザーを作成する場合は、グループパラメーターを使用しないでください。
もしそうなら、そしてそのようなユースケースではグループパラメータが省略されるように設計されているのに、なぜこれほど多くのAnsible Galaxyの例がユーザーの前にグループを構築し、そこにグループユーザーを追加するのですか?つまり、別のプライマリグループを割り当てる以外に、ユーザーアカウントの前にユーザーグループ名を追加するのはなぜですか?
- name: "Adding testuser_01 user"
user:
append: yes
# authorization:
comment: "testuser_01"
create_home: yes
expires: -1
# Starting at Ansible 2.6, modify user, remove expiry time
# Had a bug until 2.6.4 but now fixed.
# Currently supported on GNU/Linux and FreeBSD.
# CentOS /etc/default/useradd is empty string by default.
force: no
generate_ssh_key: no
group: 'testuser_01' # Optionally sets the user's primary group (takes a group name).
groups: nixadm
# hidden: no
# MacOS only - optionally hide the user from the login window and system preferences. Defaults yes
home: /home/testuser_01
# local: no # Read docs and check support
# login_class: # Optionally sets the user's login class, a feature of most BSD OSs.
move_home: no
name: testuser_01
non_unique: no
password: "{{ mypw }}"
password_lock: no
# profile: # Sets the profile of the user. Currently supported on Illumos/Solaris.
remove: no
# role: # Currently supported on Illumos/Solaris.
# seuser: # Optionally sets the seuser type (user_u) on selinux enabled systems.
Shell: /bin/bash
# skeleton:
# ssh_key_bits:
# ssh_key_comment:
# ssh_key_file:
# ssh_key_passphrase:
# ssh_key_type:
state: present
system: no
uid: 1001
update_password: on_create
register: testuser_01_added
ディストリビューションのansibleで内部的に何が起こっているかを見ることができます
モジュールのソースコードを読んだ後、あなたの質問に対する答えは、CentOSのコンテキストでは次のとおりです。
-N
フラグを追加して、潜在的なエラーを回避します。そうは言っても、私はこれらのメカニズムのいずれにも依存せず、user
モジュールで明示的に使用する前に、必要なグループを体系的に作成します。理由は次のとおりです。
users
システムグループに新しいユーザーを追加します)。 。)