Оглавление |
---|
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 необходимо этот кэш очистить, выполнив следующие команды:
Command |
---|
systemctl stop sssd rm /var/lib/sss/db/* systemctl start sssd |
Описание процесса работы с правилами sudo
Добавление команд
Для добавления новой команды необходимо перейти в 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 Group, то для выполнения команды будет использовать GID этой группы.
Удаление правил
Помимо отключения правила, его возможно удалить.
Оглавление |
---|
...
Информация | ||
---|---|---|
| ||
|
Введение
FreeIPA позволяет настраивать правила разрешения и запрета на использование sudo
для пользователей и групп пользователей. В правилах могут задаваться:
- пользователи (группы пользователей), к которым применяются правила;
- команды (группы команд), которые можно (нельзя) выполнять этим пользователям с применением
sudo
; - хосты (группы хостов), на которых применяется правило;
- опции команды
sudo
, использующиеся при применении правила.
При инициализации контроллера (реплики) FreeIPA или при вводе клиента в домен FreeIPA система автоматически конфигурируется так, чтобы команда sudo
использовала доменную службу
sssd
как источник данных о разрешениях использования sudo
. Эта конфигурация задается в файле
/etc/nsswitch.conf
:
Блок кода |
---|
sudoers: files sss |
где
files
...
- — использовать данные из локального файла
/etc/sudoers
; sss
...
- — использовать данные, предоставленные службой
sssd
...
- .
Служба
sssd
настроена таким образом, чтобы получать данные по
...
правилам sudo
от
...
доменной службы каталогов (LDAP). Подробная информация по работе команды sudo
приведена в справочной системе man sudo
, man sudoers
.
Предупреждение |
---|
Правила |
...
свойства |
...
необходимо для идентификации группы. Это является особенностью схемы |
...
в FreeIPA. |
...
Служба |
...
очистить кеш, выполнив на клиентской машине следующие команды:
|
Описание процесса работы с правилами sudo
Добавление команд
Для добавления новой команды необходимо перейти в 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
указанными в правилах пользователями) должны быть зарегистрированы. Зарегистрировать можно любую команду, имеющуюся в системе, на которой будет применяться правило. Для регистрации:
- Войти в веб-интерфейс FreeIPA.
- Перейти во вкладку Политика.
- Выбрать в выпадающем меню Sudo — Команды Sudo и нажать Добавить.
- В появившемся окне:
Указать полный путь расположения команды, которая должна выполняться от имени
sudo
(например, для редактора nano —/usr/bin/nano
);
Узнать полный путь расположения команды можно командойwhich
, например:Command which nano Примечание Пути расположения команд стандартны и обычно не зависят от системы, однако в случае нестандартных путей расположения системе может понадобиться получить пути на той машине, на которой будет применяться правило. - Опционально указать описание команды в произвольной форме (например, Текстовый редактор nano):
- Для сохранения изменений нажать кнопку Добавить. В результате указанная команда будет добавлена в список зарегистрированных команд:
Далее эту команду можно будет использовать в правилахsudo
.
Создание правила
Для создания нового правила sudo
:
- Перейти во вкладку Политика.
- Выбрать в выпадающем меню Sudo — Правила Sudo.
- Нажать кнопку Добавить и ввести имя правила.
- Нажать кнопку Добавить и изменить, будет создано "пустое" правило и откроется форма настройки его параметров:
- Раздел Основные содержит поля:
- Порядок Sudo — необязательный приоритет правила. Представляется целым числом, определяет очередность выполнения правила. Правила с большим значением выполняются раньше;
- Описание — необязательный комментарий к правилу;
Раздел Параметры — параметры для команды
sudo
. Например, наиболее распространенная опция — не запрашивать пароль у пользователя при использовании командыsudo
(опция!authenticate
).
- Раздел Основные содержит поля:
...
Who
Правило возможно применять на всех пользователей в домене FreeIPA или указать конкретных пользователей и группы пользователей.
Access this host
Правило возможно применять на все узлы в домене FreeIPA или указать конкретные узлы и группы узлов.
Run Commands
В данном разделе указываются команды, на которые применяется данное правило. Возможно указание Allow или Deny на выполнение команды или группы команд.
As Whom
...
Если в правиле указать эту опцию, то указанные в правиле команды можно будет выполнять через
sudo
без ввода пароля, если опция не используется, то потребуется ввести пароль пользователя, выполняющего команду.Информация Полный список поддерживаемых параметров см. в справочной системе:
Command man sudoers - Раздел Кто — список пользователей и групп пользователей, которым разрешено применять sudo в соответствии с правилом. Можно разрешить применять правило всем пользователям (группам пользователей);
- Раздел Получить доступ к узлу — список узлов в домене FreeIPA, на которых применяется правило. Можно разрешить применять правило на всех узлах;
- Раздел Выполнить команды — команды, к которым применяется данное правило. Возможно разрешить или запретить выполнение команды или группы команд (порядок объединения команд в группы см. далее), также возможно разрешить выполнять все команды;
- Раздел В качестве — от имени какого пользователя или группы пользователей (не root-
...
- пользователя)
...
- может быть выполнена команда. При добавлении группы
...
- пользователей в Группы пользователей запуска от имени для выполнения команды
...
- могут использоваться идентификаторы пользователей (UID) членов этой группы. При
...
- добавлении в Группы запуска от имени для выполнения команды
...
- могут использоваться GID этой группы.
Удаление правил
- Нажать кнопку Сохранить после внесения изменений в правило.
Удаление или отключение правила
Для удаления или отключения правила:
- Выбрать из списка правило, которое необходимо отключить или удалить;
- Для отключения правила нажать кнопку Отключить, для удаления — Удалить.
Объединение команд в группу
Для удобства управления команды можно объединять в группы. Для этого:
- Перейти во вкладку Политика.
- Выбрать в выпадающем меню Sudo — Группы команд Sudo.
- Нажать кнопку Добавить и ввести имя группы.
- Нажать кнопку Добавить и изменить и добавить команды, которые следует объединить в группу
...
- .