Шпаргалка по работе с IPA‑доменом (утилита ipa)

Оцените статью

1. Предварительные условия

  • Клиент должен быть присоединён к IPA‑домену (обычно через ipa-client-install).
  • Пользователь должен иметь соответствующие права в IPA (для большинства операций требуется аутентификация).
  • Утилита ipa предустановлена на клиентах и серверах IPA.

2. Базовая аутентификация

ipa login          # интерактивная аутентификация (запрашивает логин/пароль)
ipa login username # войти под конкретным пользователем
ipa logout         # завершить сессию
ipa user-find      # проверить, что аутентификация прошла (пример запроса)

Примечание: сессия ipa сохраняется (по умолчанию — в ~/.cache/ipa/ccache). Можно использовать Kerberos‑тикеты (kinit) — тогда ipa возьмёт их автоматически.

3. Основные команды по категориям

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

ipa user-find                # поиск пользователей (все или по фильтру)
ipa user-find "Ivan"         # поиск по подстроке
ipa user-show ivanov         # детали пользователя
ipa user-add ivanov --first=Ivan --last=Ivanov --email=ivan@example.com
ipa user-mod ivanov --disabled=true    # отключить пользователя
ipa user-del ivanov          # удалить пользователя (с подтверждением)
ipa user-enable ivanov       # включить пользователя
ipa group-add-member admins --users=ivanov  # добавить в группу

Группы

ipa group-find               # список групп
ipa group-show admins        # детали группы
ipa group-add developers     # создать группу
ipa group-add-member developers --users=ivanov,petrov
ipa group-remove-member developers --users=ivanov
ipa group-del developers     # удалить группу

Хосты

ipa host-find                # список хостов
ipa host-show server1.example.com
ipa host-add server2.example.com --force  # добавить хост (--force — если DNS не готов)
ipa host-del server2.example.com
ipa hostgroup-add webservers
ipa hostgroup-add-member webservers --hosts=server1.example.com

Сервисы

ipa service-find             # список сервисов
ipa service-add http/server1.example.com
ipa service-del http/server1.example.com

Политики паролей

ipa pwpolicy-find            # список политик
ipa pwpolicy-show global_policy
ipa pwpolicy-mod global_policy --minlength=12

Правила SUDO

ipa sudorule-find            # список правил sudo
ipa sudorule-add admin_sudo
ipa sudorule-add-option admin_sudo --sudooption="!authenticate"
ipa sudorule-add-user admin_sudo --users=admin
ipa sudorule-add-runas admin_sudo --runasusers=root
ipa sudorule-add-host admin_sudo --hosts=server1.example.com

Сертификаты и PKІ

ipa cert-find                # список сертификатов
ipa cert-show 12345          # детали сертификата по ID
ipa cert-request --principal=http/server1.example.com cert.csr  # запросить сертификат
ipa cert-remove 12345        # отозвать сертификат

DNS

ipa dnszone-find             # список зон
ipa dnszone-add example.com
ipa dnsrecord-add example.com www --a-rec=192.0.2.1
ipa dnsrecord-del example.com www

Роли и привилегии (RBAC)

ipa role-find                # список ролей
ipa role-add "Backup Admins"
ipa role-add-privilege "Backup Admins" --privileges="System: Read Hosts"
ipa role-add-member "Backup Admins" --users=backupuser

4. Общие опции команд

  • --help — показать справку по команде.
    Пример: ipa user-add --help.
  • --raw — выводить сырые данные (без форматирования).
  • --all — показывать все атрибуты (включая опциональные).
  • --verbose — подробный вывод.
  • --quiet — минимальный вывод (только результат).

5. Полезные проверки

ipa config-show            # общие настройки IPA
ipa healthcheck            # проверка состояния домена (требует плагина)
ipa env                    # показать окружение (сервер, домен и т. п.)
klist                      # проверить Kerberos‑тикет (если используется `kinit`)

6. Типичные ошибки и решения

  • Permission denied — у пользователя нет прав. Проверьте роли/привилегии через ipa role-find и ipa user-show.
  • Host not found — хост не добавлен в IPA. Используйте ipa host-add.
  • Already exists — объект уже есть. Проверьте через ipa <type>-find.
  • Kerberos ticket expired — выполните kinit или ipa login заново.

7. Советы

  1. Используйте автодополнение в Bash: наберите ipa и нажмите Tab — увидите список команд.
  2. Сохраняйте сессии — не нужно логиниться каждый раз, если тиккет актуален.
  3. Проверяйте права перед выполнением операций: ipa user-show <user> --all покажет назначенные роли.
  4. Для скриптов используйте --quiet и обработку кодов возврата ($?).

8. Где искать помощь

  • Официальная документация: https://www.freeipa.org.
  • Справка в консоли: ipa <команда> --help.
  • Логи сервера IPA: /var/log/ipaservice/*.log.

Похожие записи

Трассировка WordPress для определения узких мест

Я обратил внимание, что у меня в блоге стала ужасно долго открываться админка и значит пришло время разобраться как эти ваши PHP вообще трассировать и нормально отлаживать. Чтобы провести трассировку…

Как увеличить лимит на размер загружаемого файла для Ingress контроллера

После переноса Next Cloud в Kubernetes оказалось, что типовой настройки мне не хватило и файлы не пролезают через Ingress контроллер и чтобы увеличить лимит на размер загружаемого файла для Ingress‑контроллера,…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Трассировка WordPress для определения узких мест

Трассировка WordPress для определения узких мест

Как увеличить лимит на размер загружаемого файла для Ingress контроллера

Как увеличить лимит на размер загружаемого файла для Ingress контроллера

Менеджер баз данных Postgresql упакованных в Docker (Postgresql Docker Manager)

Менеджер баз данных Postgresql упакованных в Docker (Postgresql Docker Manager)

Автоматизированное получение Let’s encrypt сертификатов для Ingress Nginx при помощи cert‑manager

Автоматизированное получение Let’s encrypt сертификатов для Ingress Nginx при помощи cert‑manager

Тестовый кластер Kubernetes в Docker Desktop

Тестовый кластер Kubernetes в Docker Desktop

Хранилище артефактов (Docker) Cloud.ru

Хранилище артефактов (Docker) Cloud.ru