FreeIPA позволяет настраивать правила разрешения и запрета на использование sudo
для пользователей и групп пользователей. При использовании нативных команд ipa-server-install
или ipa-client-install
для развертывания сервера или ввода клиента в домен система автоматически конфигурируется таким образом, чтобы sudo
использовал SSSD
как провайдера данных, конфигурируя файл /etc/nsswitch.conf
:
sudoers: files sss
где
files
— использовать данные из/etc/sudoers
;sss
— использовать данные, предоставленныеsssd
.
SSSD
, в свою очередь, сконфигурирован таким образом, чтобы получать данные по правилам sudo
от LDAP-сервера (более подробная информация по работе sudo
приведена в man sudo
, man sudoers
).
Правила sudo
не могут применяться к встроенной группе хостов ipaserver
, т.к. эта группа не имеет свойства mepmanagedentry
, следовательно, не имеет в objectclass
запись mepOriginEntry
, что является необходимым условием для идентификации группы. Это является особенностью схемы в FreeIPA.
Для SSSD
существует кэширование с TTL, по умолчанию — 5400 секунд. Для немедленного применения правил sudo
необходимо этот кэш очистить, выполнив следующие команды:
sudo systemctl stop sssd sudo rm /var/lib/sss/db/* sudo systemctl start sssd
Или воспользоваться утилитой sssctl
, входящей в набор утилит sssd-tools
:
sudo sssctl cache-remove
Команды
Добавление
Для добавления новой команды необходимо войти в web-интерфейс FreeIPA и перейти на вкладку Policy, выбрать в выпадающем меню Sudo — Sudo Commands и нажать Add. В появившемся окне необходимо указать полный путь расположения команды и, при необходимости, описание команды:
Также команды возможно объединять в группы команд. Для этого необходимо перейти в Policy — Sudo — Sudo Command Group, нажать Add, ввести имя группы, нажать Add and Edit и добавить необходимые команды.
Правила
Создание
Для создания нового правила необходимо перейти в Policy — Sudo — Sudo Rules.
Здесь представлен список всех имеющихся правил и отображено состояние этих правил — включено или выключено. При нажатии на кнопку Add система запросит имя правила. После ввода имени нового правила необходимо нажать кнопку Add and Edit.
Настройка
Options — параметры для sudo
. Например, не запрашивать пароль у пользователя при использовании команды sudo
.
Who — применять правила ко всем пользователям в домене FreeIPA или указать конкретных пользователей и группы пользователей.
Access this host — применять правила на всех узлах в домене FreeIPA или указать конкретные узлы и группы узлов.
Run Commands — команды, к которым применяется данное правило. Возможно указать Allow или Deny на выполнение команды или группы команд.
As Whom — каким пользователем или группой пользователей (не root-пользователем) будет выполнена команда. При добавлении группы пользователей в Group of RunAs Users для выполнения команды будет использоваться UID членов этой группы. При добавлении в RunAs Groups для выполнения команды будет использоваться GID этой группы.
Удаление или отключение
Выбрать из списка правило, которое необходимо отключить или удалить. Для отключения правила нажать кнопку Disable, для удаления — Delete: