claranet.users

Ansible роль - пользователи

Поддержка Лицензия Релиз Статус Версия Ansible Ansible Galaxy

:star: Поставьте звезду на GitHub — это нас очень мотивирует!

Создание групп, пользователей и настройка файлов dotfiles пользователей.

:warning: Требования

Ansible >= 2.10

:zap: Установка

ansible-galaxy install claranet.users

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

Пользователи

Поддерживаемые атрибуты пользователей: name, append, shell, createhome, home, password, uid, group, groups, update_password, state, remove и comment. Дополнительная информация

Переменная Значение по умолчанию Описание
users {} Создание групп, пользователей и настройка bashrc, ssh/config, vimrc и профиля

Пожалуйста, обратите внимание, что нам нужно использовать chattr -a для файла .bash_history, чтобы управлять изменениями групп!

Пакеты

Переменная Значение по умолчанию Описание
users_packages ["bash","bash-completion","vim","e2fsprogs"] Список необходимых пакетов для пользователей

Глобальные переменные

Переменная Значение по умолчанию Описание
users_umask 022 Значение по умолчанию для umask файлов, созданных пользователями
users_lang POSIX Переменная языка по умолчанию
users_editor vim Редактор по умолчанию — vim
users_ls_options --color=auto Параметры ls по умолчанию

Dotfiles

Переменная Значение по умолчанию Описание
users_default_bashrc defaults/main.yml Управление содержимым файла .bashrc
users_default_vimrc defaults/main.yml Управление содержимым файла .vimrc
users_default_profile defaults/main.yml Управление содержимым файла .profile
users_bashrc_histcontrol ignoreboth Установка переменной HISTCONTROL
users_bashrc_histsize 5000 Установка переменной HISTSIZE
users_bashrc_histfilesize 20000 Установка переменной HISTFILESIZE
users_bashrc_histtimeformat %d-%m-%y %T Установка переменной HISTTIMEFORMAT
users_bashrc_template users/bashrc.j2 Конфигурация файла ~/.bashrc
users_ssh_config_template users/ssh_config.j2 Конфигурация файла ~/.ssh/config
users_vimrc_template users/vimrc.j2 Конфигурация файла ~/.vimrc
users_profile_template users/profile.j2 Конфигурация файла ~/.profile

Dotfiles (bashrc, ssh/config, vimrc, profile) по умолчанию не включены. Вам нужно определить их явно для нужного пользователя. (Смотрите пример ниже).

:arrows_counterclockwise: Зависимости

Смотрите tasks/install.yml.

:pencil2: Пример Playbook

---
- hosts: all
  become: true
  become_user: root
  roles:
    - claranet.users
  vars:
    users:
      root:
        home: /root
        group: wheel
        password: "*"
        authorized_keys: ["ssh-rsa xxx"]
        bashrc:
          - 'export PS1=''\[\033[01;31m\]\u\[\033[00m\]@$(hostname -f) \[\033[01;34m\]\w \$\[\033[00m\] '''
        vimrc:
          - "color desert"
        profile: {}
        ssh_config:
          'mysrv*':
            identityFile: /home/user/.ssh/user
        ssh_keys:
          id_rsa:
            public: 'ssh-rsa '
            private: "{{ lookup('community.hashi_vault.hashi_vault', 'secret/ssh:private_key') }}"
        update_password: "on_create"         # по умолчанию всегда

:closed_lock_with_key: Ужесточение безопасности

:heart_eyes_cat: Вклад

Mozilla Public License Version 2.0

О проекте

Configure system's users

Установить
ansible-galaxy install claranet.users
Лицензия
mpl-2.0
Загрузки
28k
Владелец
Open source projects from and contributed to by Claranet.