Ansible não está prestando atenção ao 'group' para atribuir o grupo primário do usuário no CentOS 7

1

Estou executando o Ansible 2.2.0.0 para criar usuários em um servidor do CentOS 7 com o seguinte:

- name: User creation
  user: name="{{item.username}}"
        group="{{item.username if users_create_per_user_group
            else item.group}}"
        groups="{{item.groups | join(',')}}"
        shell="{{item.shell if item.shell is defined else users_default_shell}}"    
        comment="{{item.name}}"
        uid="{{item.uid}}"
        home="{{item.home if item.home is defined else []}}"
        password="{{ item.password if item.password is defined else '!' }}"
  with_items: "{{users}}"
  tags: ['users','configuration']

Eu estou atribuindo 'wordpress' para 'primary_group' (para que os desenvolvedores de conteúdo possam ler e escrever em sua área wordpress sem ter que se preocupar em chgrp'ing seus arquivos) e vejo que a variável está atribuída corretamente no playbook saída:

ok: [someserver] => (item={u'username': u'someuser', **u'group': [u'wordpress']**, u'name': u'somefirstname somelastname', u'ssh_key': [u'ssh-rsa AN_SSH_PUBLIC_KEY'], u'groups': [u'someuser', u'apache', u'sftpusers'], u'password': u'A UNIX PASSWORD HASH', u'uid': 2101})

Mas o grupo primário do usuário permanece 'someuser', não 'wordpress', embora nenhum erro seja gerado.

    
por mrpepple 11.01.2017 / 18:00

1 resposta

1

Para expandir os pensamentos de Konstantin:

  1. Adicione uma instrução de depuração logo antes da criação do usuário para verificar o valor de users_create_per_user_group

    - name: Debug users_create_per_user_group 
      debug: var=users_create_per_user_group
    
  2. Atualize a criação do usuário para que você possa manipular group como uma lista

    - name: User creation
      user: name="{{item.username}}"
        group="{{item.username if users_create_per_user_group
            else (item.group if item.group is string else item.group[0]) }}"
        groups="{{item.groups | join(',')}}"
        shell="{{item.shell | default(users_default_shell) }}"    
        comment="{{item.name}}"
        uid="{{item.uid}}"
        home="{{item.home | default([])}}"
        password="{{ item.password | default('!') }}"
      tags: ['users','configuration']
    
por 12.01.2017 / 03:23

Tags