freeipa_client

freeipa_client

Эта роль устанавливает и настраивает FreeIPA Client в соответствии с вашими потребностями.

В комбинации с freeipa (Github) возможно (и протестировано) использование freeipa_client с последней версией FreeIPA на Debian 9.4 и Ubuntu >= 18.04 (ознакомьтесь с разделом примеров).

Требования

Для этой роли требуется Ansible 2.5.0 или выше.

Вы можете просто использовать pip для установки (и определения) стабильной версии:

pip install ansible==2.7.9

Все требования к платформе перечислены в файле метаданных.

Чтобы правильно установить эту роль, необходимо, чтобы вы могли связываться по необходимым портам с FreeIPA Server (Github Repo).

Установка

ansible-galaxy install timorunge.freeipa_client

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

Необходимо установить следующие переменные, чтобы эта роль заработала (без настройки). У этих переменных нет значений по умолчанию:

# Основной DNS домен развертывания IPA
# Тип: Строка
freeipa_client_domain: example.com
# Имя хоста этой машины (FQDN)
# Тип: Строка
freeipa_client_fqdn: srv-1-eu-central-1.example.com
# Пароль для присоединения к IPA области
# Тип: Строка
freeipa_client_password: Passw0rd
# Принципал для использования при присоединении к IPA области
# Тип: Строка
freeipa_client_principal: admin
# Имя Kerberos области развертывания IPA
# Тип: Строка
freeipa_client_realm: EXAMPLE.COM
# FQDN IPA сервера
# Тип: Строка
freeipa_client_server: ipa.example.com

Переменные, которые могут быть переданы этой роли, и их краткое описание:

# Базовая команда для установки FreeIPA
# Тип: Строка
freeipa_client_install_base_command: ipa-client-install --unattended

# Параметры установки FreeIPA по умолчанию
# Тип: Список
freeipa_client_install_options:
  - "--domain={{ freeipa_client_domain }}"
  - "--server={{ freeipa_client_server }}"
  - "--realm={{ freeipa_client_realm }}"
  - "--principal={{ freeipa_client_principal }}"
  - "--password={{ freeipa_client_password }}"
  - "--mkhomedir"
  - "--hostname={{ freeipa_client_fqdn }}"
  - "--force-join"

Примеры

Чтобы сделать документ более компактным, параметры установки были убраны. Вы можете найти параметры установки как в этом документе, так и в онлайн мануале для ipa-client-install.

1) Установить FreeIPA клиент с настройками по умолчанию

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
  roles:
    - timorunge.freeipa_client

2) Установить FreeIPA сервер с пользовательскими параметрами установки

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--no-ntp"
      - "--ssh-trust-dns"
      - "--ip-address=172.20.1.2"
      - "--ip-address=172.20.2.2"
  roles:
    - timorunge.freeipa_client

3) Установить FreeIPA клиент и добавить несколько IPA серверов

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server:
      - ipa-eu-central-1.example.com
      - ipa-eu-west-1.example.com
      - ipa-eu-west-2.example.com
      - ipa-eu-west-3.example.com
      - ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--server={{ freeipa_client_server | join(' --server=') }}"
  roles:
    - timorunge.freeipa_client

Опции установки FreeIPA клиента

Обзор параметров установки для ipa-client-install (4.6.4).

Использование: ipa-client-install [опции]

Опции:
  --version             показать номер версии программы и выйти
  -h, --help            показать это сообщение о помощи и выйти
  -U, --unattended      безответная (не)установка, никогда не запрашивает
                        пользователя
  --uninstall           удалить существующую установку. Удаление может
                        быть выполнено с помощью опции --unattended

  Основные параметры:
    -p PRINCIPAL, --principal=PRINCIPAL
                        принципал для использования при присоединении к IPA
                        области
    --ca-cert-file=FILE
                        загрузить сертификат CA из этого файла
    --ip-address=IP_ADDRESS
                        Укажите IP-адрес, который должен быть добавлен в DNS. 
                        Эта опция может использоваться несколько раз
    --all-ip-addresses  Все маршрутизируемые IP-адреса, настроенные на любом интерфейсе,
                        будут добавлены в DNS
    --domain=DOMAIN_NAME
                        основной DNS домен развертывания IPA (не
                        обязательно связанный с текущим именем хоста)
    --server=SERVER     FQDN IPA сервера
    --realm=REALM_NAME  Имя Kerberos области развертывания IPA (обычно
                        это название основного DNS домена в верхнем регистре)
    --hostname=HOST_NAME
                        Имя хоста этой машины (FQDN). Если указано, имя хоста
                        будет установлено, и конфигурация системы будет
                        обновлена для сохранения после перезагрузки. По умолчанию
                        используется результат вызова getfqdn() из модуля socket Python.

  Параметры клиента:
    -w PASSWORD, --password=PASSWORD
                        пароль для присоединения к IPA области (предполагает пакетный
                        пароль, если принципал также не установлен)
    -W                  Запросить пароль для присоединения к IPA области
    --noac              не изменять nsswitch.conf и конфигурацию PAM
    -f, --force         принудительно установить конфигурацию LDAP/Kerberos
    --configure-firefox
                        настроить Firefox для использования учетных данных домена IPA
    --firefox-dir=FIREFOX_DIR
                        указать каталог, где установлен Firefox (например: '/usr/lib/firefox')
    -k KEYTAB, --keytab=KEYTAB
                        путь к сохраненному ключу из предыдущей регистрации
    --mkhomedir         создать домашние каталоги для пользователей при их первом входе
    --force-join        Принудительное подключение клиента, даже если он уже подключен
    --ntp-server=NTP_SERVER
                        ntp сервер для использования. Эта опция может использоваться несколько
                        раз
    -N, --no-ntp        не настраивать ntp
    --force-ntpd        Остановить и отключить любые службы
                        синхронизации времени и даты, кроме ntpd
    --nisdomain=NISDOMAIN
                        имя домена NIS
    --no-nisdomain      не настраивать имя домена NIS
    --ssh-trust-dns     настроить клиент OpenSSH доверять DNS SSHFP записям
    --no-ssh            не настраивать клиент OpenSSH
    --no-sshd           не настраивать сервер OpenSSH
    --no-sudo           не настраивать SSSD как источник данных для sudo
    --no-dns-sshfp      не создавать автоматически DNS SSHFP записи
    --kinit-attempts=KINIT_ATTEMPTS
                        количество попыток получить TGT хоста (по умолчанию 5).
    --request-cert      запросить сертификат для машины

  Параметры SSSD:
    --fixed-primary     Настройка sssd на использование фиксированного сервера в качестве основного
                        IPA сервера
    --permit            отключить правила доступа по умолчанию, разрешить все доступы.
    --enable-dns-updates
                        Настройка машины на попытку обновления DNS, когда изменяется
                        IP-адрес.
    --no-krb5-offline-passwords
                        Настройка SSSD на не хранение паролей пользователей, когда
                        сервер в режиме оффлайн
    --preserve-sssd     Сохранить старую конфигурацию SSSD, если это возможно

  Параметры автоматического монтирования:
    --automount-location=AUTOMOUNT_LOCATION
                        Место автоматического монтирования

  Опции логирования и вывода:
    -v, --verbose       вывести отладочную информацию
    -d, --debug         псевдоним для --verbose (устарело)
    -q, --quiet         выводить только ошибки
    --log-file=FILE     записывать в указанный файл

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

Состояние сборки

Тестирование на Travis выполняется с использованием Docker и docker_test_runner. Тесты на Travis выполняют проверку кода и синтаксиса.

Для получения дополнительных сведений и дополнительных проверок ознакомьтесь с конфигурацией docker_test_runner и точкой входа Docker.

# Локальное тестирование:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

Зависимости

Эта роль требует запущенный FreeIPA Server (Github Repo).

Лицензия

Лицензия BSD 3-Clause "New" or "Revised"

Информация об авторе

  • Тимор Унге
О проекте

FreeIPA Identity Management Client provisioning.

Установить
ansible-galaxy install timorunge/ansible-freeipa-client
Лицензия
bsd-3-clause
Загрузки
12075
Владелец