fqcn[action-core]: Use FQCN for builtin module actions (shell). roles/users/handlers/main.yml:2 Use `ansible.builtin.shell` or `ansible.legacy.shell` instead. fqcn[action-core]: Use FQCN for builtin module actions (package). roles/users/tasks/main.yml:2 Use `ansible.builtin.package` or `ansible.legacy.package` instead. fqcn[action-core]: Use FQCN for builtin module actions (lineinfile). roles/users/tasks/main.yml:8 Use `ansible.builtin.lineinfile` or `ansible.legacy.lineinfile` instead. fqcn[action-core]: Use FQCN for builtin module actions (user). roles/users/tasks/main.yml:16 Use `ansible.builtin.user` or `ansible.legacy.user` instead. fqcn[action]: Use FQCN for module actions, such `ansible.posix.authorized_key`. roles/users/tasks/main.yml:24 Action `authorized_key` is not FQCN. fqcn[action-core]: Use FQCN for builtin module actions (user). roles/users/tasks/main.yml:34 Use `ansible.builtin.user` or `ansible.legacy.user` instead. fqcn[action-core]: Use FQCN for builtin module actions (stat). roles/users/tasks/main.yml:42 Use `ansible.builtin.stat` or `ansible.legacy.stat` instead. fqcn[action-core]: Use FQCN for builtin module actions (lineinfile). roles/users/tasks/main.yml:47 Use `ansible.builtin.lineinfile` or `ansible.legacy.lineinfile` instead.
57 lines
1.3 KiB
YAML
57 lines
1.3 KiB
YAML
---
|
|
- name: Ensure sudo is installed
|
|
ansible.builtin.package:
|
|
name:
|
|
- sudo
|
|
state: present
|
|
|
|
- name: Configure group sudo for sudoers without password
|
|
ansible.builtin.lineinfile:
|
|
path: /etc/sudoers
|
|
state: present
|
|
regexp: '^%sudo\s'
|
|
line: "%sudo ALL=(ALL) NOPASSWD: ALL"
|
|
validate: /usr/sbin/visudo -cf %s
|
|
|
|
- name: Add users | create users' shell and home dir
|
|
ansible.builtin.user:
|
|
name: "{{ item.logname }}"
|
|
shell: /bin/bash
|
|
createhome: yes
|
|
comment: "{{ item.viewname }}"
|
|
with_items: "{{ users }}"
|
|
|
|
- name: Add authorized keys for user
|
|
ansible.posix.authorized_key:
|
|
user: "{{ item.0.logname }}"
|
|
key: "{{ item.1 }}"
|
|
state: present
|
|
with_subelements:
|
|
- "{{ users }}"
|
|
- ssh_pub
|
|
- skip_missing: true
|
|
|
|
- name: Place user in sudo group
|
|
ansible.builtin.user:
|
|
name: "{{ item.logname }}"
|
|
groups: [sudo]
|
|
append: yes
|
|
when: item.sudo
|
|
with_items: "{{ users }}"
|
|
|
|
- name: Check if /etc/aliases exists
|
|
ansible.builtin.stat:
|
|
path: /etc/aliases
|
|
register: aliases
|
|
|
|
- name: Set system email alias
|
|
ansible.builtin.lineinfile:
|
|
path: /etc/aliases
|
|
state: present
|
|
regexp: "^{{ item.logname }}:"
|
|
line: "{{ item.logname }}: {{ item.email }}"
|
|
notify: Update aliases
|
|
when:
|
|
- item.email is defined
|
|
- aliases.stat.exists
|
|
with_items: "{{ users }}"
|