Пост

Работаем с FreeIPA из командной строки

FreeIPA (IPA) - это комплексное решение для централизованного управления безопасностью Linux-систем, идентификацией и аутентификацией. Оно позволяет создавать многоуровневую систему управления доступом, где руководители подразделений могут добавлять пользователей в группы и настраивать доступ к ресурсам.

Бывают ситуации, когда быстрее и проще выполнить какое-нибудь действие (массовые действия) с FreeIPA через терминал. Например: добавить пользователей, сбросить пароли и т.д.

Для начала авторизуемся под пользователем с правами администратора FreeIPA

1
2
$ kinit admin
Password for [email protected]:

Работаем с пользователями

Посмотреть информацию о пользователе / пользователях

1
2
$ ipa user-find
$ ipa user-find a.smith

Заблокировать / Разблокировать пользователя

1
2
$ ipa user-disable a.smith
$ ipa user-enable a.smith

Добавить пользователя

1
2
3
$ ipa user-add a.smith --first=Adam --last=Smith --password
Password: 
Enter Password again to verify: 

Добавить пользователя, указав дополнительные атрибуты

1
$ ipa user-add a.smith --first="Adam Sergeevich" --last=Smith --email=[email protected] --homedir=/home/lvas --password

Редактируем пользователя, добавляем атрибуты

1
2
$ ipa user-show a.smith
$ ipa user-mod a.smith --addattr=l="Moscow" --email=[email protected]

Смена пароля пользователя

1
$ ipa user-mod a.smith --password

Удалить пользователя “в корзину”, т.е. с возможностью восстановления

1
$ ipa user-del --preserve a.smith

Восстановить пользователя “из корзины”

1
$ ipa user-undel a.smith

Удалить несколько пользователей

1
$ ipa user-del --continue a.smith1 a.smith2 a.smith3

Доступные команды для работы с пользователями

1
$ ipa help user

Убираем автоматический запрос смены пароля

Во FreeIPA при добавлении пользователя и последующей его авторизации (в админке FreeIPA или по SSH) запрашивается принудительная смена пароля. Иногда возникают ситуации, когда надо отключить принудительную смену пароля.

1
$ ipa user-mod a.smith --setattr=krbPasswordExpiration=20230817011529Z

Работаем с группами пользователей

Создать новую группу пользователей

1
2
$ ipa group-add g_test --desc="Test users"
$ ipa group-add global_admins --desc="Global admins"

Добавить пользователей в группу

1
2
$ ipa group-add-member g_test --users=a.smith
$ ipa group-add-member global_admins --users=a.smith

Массовое добавление пользователей в группу

1
$ ipa group-add-member ws_helpdesk --users={lvas,ppv,ipetrov}

Удалить пользователя из группы

1
$ ipa group-remove-member ws_helpdesk --users=ipetrov

Посмотреть информацию о группе

1
2
$ ipa group-find
$ ipa group-find g_test

Доступные команды для работы с группами

1
$ ipa help group

Работаем с политиками паролей

Посмотреть доступные политики паролей

1
$ ipa pwpolicy-show

Добавить политику паролей глобальных адинов

1
$ ipa pwpolicy-add global_admins --maxlife=90 --minlife=1 --history=10 --minclasses=0 --minlength=14 --maxfail=6 --failinterval=60 --lockouttime=600 --priority=1

Добавить политику паролей пользователей

1
$ ipa pwpolicy-add ipausers --maxlife=180 --minlife=1 --history=3 --minclasses=0 --minlength=8 --maxfail=6 --failinterval=60 --lockouttime=600 --priority=10

Редактировать политику паролей

1
$ ipa pwpolicy-mod global_admins --maxfail=6

Посмотреть политику паролей / политику паролей для пользователя

1
2
$ ipa pwpolicy-show global_admins
$ ipa pwpolicy-show --user=a.smith

Доступные команды для работы с политиками паролей

1
$ ipa help pwpolicy

Запрет авторизации по истечению срока действия пароля

В политиках паролей пользователей FreeIPA есть такой параметр как Grace login limit - льготный лимит входа.

Льготный период определяет количество входов в систему (web, ssh, LDAP), разрешенных после истечения срока действия.
Значение -1 означает, что авторизация пользователя не блокируется при истечение срока действия. Т.е. при истечении срока действия пароля пользователь может сменить пароль через админку FreeIPA или при подключении по SSH.

Чтобы запретить авторизацию пользователей (в том числе и LDAP) по истечению срока действия пароля, необходимо установить этот параметр = 0. Но что б не заблокировать себе административный доступ к FreeIPA необходимо создать политику паролей для админов, со значением Grace Login Limit = -1

Работаем с политиками HBAC

Посмотреть политики HBAC

1
$ ipa hbacrule-find

Отключаем HBAC политику allow_all

1
$ ipa hbacrule-disable allow_all

Добавить HBAC сервис

1
$ ipa hbacsvc-add wikiapp

Добавить HBAC политику

1
$ ipa hbacrule-add allow_wikiapp

Добавить в HBAC политику HBAC сервис

1
$ ipa hbacrule-add-service allow_wikiapp --hbacsvcs=wikiapp

Доступные команды для работы с политиками / сервисами HBAC

1
2
$ ipa help hbacrule
$ ipa help hbacsvc

Глобальные настройки FreeIPA

Проверьте настройки по умолчанию

1
$ ipa config-show

Используем Bash как командный интерпретатор по умолчанию

1
$ ipa config-mod --defaultshell=/bin/bash
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.