sudousers

Ansible Роль: SudoUsers

Эта роль создает учетные записи пользователей из списка с привилегиями sudo на системах на базе Debian или RHEL. Также будет добавлен флаг NOPASSWD, чтобы система не запрашивала пароль.

Требования

Любая виртуальная машина или физический сервер на базе Debian или RHEL, на котором у пользователя Ansible есть права SUDO, и установлен python3. Также должен быть установлен пакет "sudo".

Переменные роли

Для полного списка смотрите defaults/main.yml. Список пользователей

su_users:
  - username: "{{ su_vault_vmuser1 }}"
    password: "{{ su_vault_vmpwd1 }}"
    is_super_user: true
    sudo_rules: []    
  - username: "{{ su_vault_vmuser2 }}"
    password: "{{ su_vault_vmpwd2 }}"
    is_super_user: false
    sudo_rules:
      - "ALL=(ALL)   NOPASSWD: /usr/bin/su - {{ su_vault_vmuser1 }}"
      - "ALL=(root)   NOPASSWD: /bin/su - {{ su_vault_vmuser1 }}"    

В приведенном выше примере первый пользователь является суперпользователем, и команда sudo разрешена (Суперпользователь). Второй пользователь является ограниченным пользователем, с двумя правилами sudo, которые позволяют ему/ей переключаться на первого пользователя с помощью команды:

sudo su - user1id

В приведенном выше примере для user2 разрешена только эта одна команда sudo.

Секретные имена пользователей и пароли должны храниться в 'Secrets.yml'. Используйте ansible-vault и хеширование паролей. Не добавляйте Secrets.yml в Git/Систему управления версиями.

su_vault_vmuser1: user01
su_vault_vmpwd1: user01-password-hashed
su_vault_vmuser2: user02
su_vault_vmpwd2: user02-password-hashed

Зависимости

Нет

Пример плейбука

    - hosts: servers
      roles:
         - role: hammadrauf.sudousers

Тестирование с Molecule

Запустите экземпляры Podman вне Molecule/Ansible, используя следующие команды:

podman run -d --name debian12 --hostname debian12 -it docker.io/hammadrauf/dockerdeb12:latest sleep infinity & wait
podman run -d --name fedora40 --hostname fedora40 -it docker.io/hammadrauf/fedora40:latest
podman run -d --name ubuntu --hostname ubuntu -it docker.io/hammadrauf/ubuntunoble:latest sleep infinity & wait

Хеширование паролей пользователей Linux

Ubuntu / Debian

$ sudo apt update
$ sudo apt install whois 
$ mkpasswd --method="sha-512" --salt="Thisisarandomsaltingstring"
Password: 
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1

CentOS / Fedora

$ sudo dnf install expect
$ mkpasswd --method="sha-512" --salt="Thisisarandomsaltingstring"
Password: 
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1

Лицензия

MIT

Авторская информация

Эта роль была создана 10 мая 2024 года Хаммадом Раунфом.

О проекте

Debian/RHEL creation of Super User with sudo permissions. Also sets the NOPASSWD flag so that Password is not asked on sudo usage.

Установить
ansible-galaxy install hammadrauf/sudousers
Лицензия
Unknown
Загрузки
90
Владелец