User Tools

Site Tools


wikiv1:ansible_adhoc

Gerenciar ambiente Linux com Ansible ad hoc

Módulo user

Adicionando um usuário

$ echo 'senha123' | openssl passwd -1 -stdin
$1$Q0ADxehE$IKy8PGjnj8xryj06jYBa61
$ sudo ansible local -m user -a 'name=helpdesk state=present shell=/bin/bash password=$1$Q0ADxehE$IKy8PGjnj8xryj06jYBa61'
ansible-server | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": true,
    "comment": "",
    "create_home": true,
    "group": 1001,
    "home": "/home/helpdesk",
    "name": "helpdesk",
    "password": "NOT_LOGGING_PASSWORD",
    "shell": "/bin/bash",
    "state": "present",
    "system": false,
    "uid": 1001
}

Explicação

  • -m: Determina o nome do módulo, em nosso exemplo será user;
  • -a: Define argumentos passados ao módulo.

Argumentos

  • state: Define o estado do usuário como presente (present) e ausente (absent);
  • shell: Estabelece a shell utilizada pelo novo usuário;
  • password: Determina o hash de senha do usuário. No exemplo, criamos a hash através do comando openssl passwd -1.
$ getent passwd helpdesk
helpdesk:x:1001:1001::/home/helpdesk:/bin/bash

Para remover o usuário

$ sudo ansible local -m user -a 'name=helpdesk state=absent remove=yes'
ansible-server | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": true,
    "force": false,
    "name": "helpdesk",
    "remove": true,
    "state": "absent",
    "stderr": "userdel: helpdesk mail spool (/var/mail/helpdesk) not found\n",
    "stderr_lines": [
        "userdel: helpdesk mail spool (/var/mail/helpdesk) not found"
    ]
}

Módulo package

Para instalar um pacote

$ sudo ansible local -m package -a 'name=htop state=present'
ansible-server | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "cache_update_time": 1661262472,
    "cache_updated": false,
    "changed": false
}

Para remover um pacote

$ sudo ansible local -m package -a 'name=htop state=absent'

Módulo file

$ sudo ansible local -m file -a 'path=/etc/nologin owner=root group=root mode=0644 state=touch'
ansible-server | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": true,
    "dest": "/etc/nologin",
    "gid": 0,
    "group": "root",
    "mode": "0644",
    "owner": "root",
    "size": 0,
    "state": "file",
    "uid": 0
}

Argumentos

  • path: Define a localização e nome do arquivo;
  • owner: Estabelece o usuário dono do arquivo;
  • group: Indica o grupo dono do arquivo;
  • mode: Define em forma octal as permissões de acesso ao arquivo.

Para remover

$ ansible local -m file -a 'path=/etc/nologin state=absent'
wikiv1/ansible_adhoc.txt · Last modified: by 127.0.0.1