Проект

Общее

Профиль

Модуль citto-auth

Модуль настраивает систему на авторизацию в AD. Модуль настраивает sssd, krb5, nsswitch, samba и roles.

Добавлен функционал управления паролями пользователя.
Для создания пользователя используется стандартный ресурс user.
Для генерации hash'a пароля можно использовать утилиту makepasswd, алгоритм blowfish:

Пример:

makepasswd  -e blowfish

Пример создания пользователя:

user { 'usertest':
  ensure   => 'absent',
  home     => '/home/usertest',
  password => '$2a$10$ImciE7X3ZAejNIsogKO.2Ow6ZyCoilYjNEphPx/Q69qWGZtoWWGMe',
  shell    => '/bin/bash',
}

Пример конфигурации:

---
classes:
    - auth::sssd
    - auth::samba
    - auth::pam
    - auth

auth::sssd::domains:
    adm72.local:
        id_provider: ad
        auth_provider: ad
        chpass_provider: ad

auth::samba::realm: adm72.local

auth::pam::mount::volumes:
    vol:
      fstype: cifs
      server: fsserver
      path: '%{literal("%")}(USER)'
      mountpoint: '~/mnt'

Конфигурация в примере делает следующее:
  1. Настроит sssd с единственным доменом "adm72.local"
  2. Настроит pam на использование sssd
  3. Настроит samba на работу в домене adm72.local
  4. Настроит системный krb5.conf

После применения модуля ПК вводится в домен командой net ads join -U administrator (вместо administrator - указывается пользователь с правами на ввод ПК в домен).

Конструкция %{literal("%")} нужна из-за того, что hiera раскрывает все что идет за знаком %. В результате эта конструкция заменяется на %.

Обратите внимание - для корректной работы в домене нужны классы auth::sssd, auth::samba, auth::pam

Класс auth::sssd

Класс настраивает демон sssd для работы в домене.

Параметры:
  1. services - предоставляемые sssd сервисы
  2. manage_nss - добавлять ли в /etc/nsswitch.conf необходимые записи для работы с sssd
  3. domains - хэши для создания ресурсов типа auth::sssd::domain

auth::samba

Класс настраивает некоторые необходимые параметры samba для работы в домене.

Параметры:
  1. purge_config - заменять ли конфигурацию целиком или только необходимые значения
  2. realm - домен, в котором работает ПК
  3. idmap_range - диапазон выделяемых ID для пользователей и групп при использовании winbind (не используется с sssd)
  4. workgroup - рабочая группа, необязательный параметр
  5. netbios_name - netbios имя ПК, необязательный параметр

auth::pam

Настраивает pam на работу с sssd.

Параметры:
  1. enable_pam_mount - включить ли модуль pam_mount
  2. suffix - суффикс добавляемый к файлу конфигурации pam

auth::roles

Параметры:
  1. members - группы, которые будут добавлены/удалены из роли

Пример использования:


auth::roles:
    'test':
        ensure: 'absent'
        members:
            - radio
            - users
    "Domain Admins":
        ensure: 'present'
        members:
            - users

Добавить изображение из буфера обмена (Максимальный размер: 24,4 МБ)