Tartalomjegyzék

< Playbook

Ansible, felhasználók

Egy felhasználó

A következő példában egy dev csoport, majd egy kati nevű felhasználó létezését írom elő.

user.yml
---
-   hosts: all
    remote_user: janos
    tasks:
 
      - name: Dev csoport
        group:
          name: dev
          state: present
        become: yes
      - name: Felhasználó felvétele
        user:
          name: kati
          comment: Pereces Katalin
          shell: /bin/bash
          password: "{{'titok' | password_hash('sha512', 'soso')}}"
        become: yes

Végrehajtás:

ansible-playbook -i 192.168.5.102, user.yml

Csoportok csoportos felvétele

Egyszerre három csoport jelenlétét határozom meg. Az ansible felveszi az info, human és gazd csoportot a célgépeken, ha azok még nem léteznek.

group.yml
---
- hosts: all
  tasks:
  - name: Csoportok felvétele
    group:
      name: "{{ item }}"
    loop:
      - info
      - human
      - gazd
    become: yes

Felhasználók csoportos felvétele

user.yml
---
- hosts: all
  tasks:
  - name: Felhasználók felévtele
    user:
      name: "{{ item.name }}"
      groups: "{{ item.groups }}"
      state: "{{ item.state}}"
    loop:
      - { name: 'kati', groups: 'informatika', state: 'present' }
      - { name: 'mari', groups: 'informatika', state: 'present' }
      - { name: 'dani', groups: 'informatika', state: 'present' }
    become: yes

Felhasználók csoportos felvétele újra

user.yml
---
- hosts: all
  tasks:
  - name: Felhasználók felvétele
    user:
      name: "{{ item.name }}"
      comment: "{{ item.comment}}"
      groups: "{{ item.groups }}"
      shell: "{{ item.shell }}"
      password: "{{ item.password | password_hash('sha512','soso') }}"
      state: "{{ item.state }}"     
    loop:
      - { name: 'kati', 
          comment: 'Pe Katalin',
          groups: 'informatika',
          shell: '/bin/bash',
          password: 'titok',
          state: 'present' }
      - { name: 'mari',
          comment: 'Kiss Mária',
          groups: 'informatika',
          shell: '/bin/bash',
          password: 'titok',
          state: 'present' }
    become: yes