Работаем с 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