wikiv1:ansible_adhoc
Table of Contents
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
