netz39-infra-ansible/roles/users/tasks/main.yml
Alexander Dahl 2b0e31870d 🚨 roles: users: Fix linter warnings of type 'fqcn'
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.
2025-03-08 22:04:04 +01:00

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 }}"