Page tree
Skip to end of metadata
Go to start of metadata

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Введение

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.

Правила sudo не могут применяться к встроенной доменной группе хостов ipaserver, т.к. эта группа не имеет свойства mepmanagedentry, следовательно, не имеет в objectclass запись mepOriginEntry, что необходимо для идентификации группы. Это является особенностью схемы в FreeIPA.

Служба sssd выполняет кеширование данных с периодом обновления по умолчанию 5400 секунд. Для немедленного применения правил sudo необходимо очистить кеш, выполнив на клиентской машине следующие команды:

sudo systemctl stop sssd
sudo rm /var/lib/sss/db/*
sudo systemctl start sssd
Или воспользоваться инструментом sssctl, входящим в пакет sssd-tools:
sudo sssctl cache-remove

Регистрация команды для использования в правилах sudo

Команды, которые будут далее использоваться в правилах sudo (т.е. которые далее могут выполняться от имени sudo указанными в правилах пользовтаелями) должны быть зарегистрированы. Зарегистрировать можно любую команду, имеющуюся в системе, на которой будет применяться правило. Для регистрации:

  1. Войти в web-интерфейс FreeIPA;
  2. Перейти на вкладку "Политика";
  3. Выбрать в выпадающем меню "Sudo" пункт "Команды Sudo" и нажать "Добавить";
  4. В появившемся окне:
    1. Указать полный путь расположения команды, которая должна выполняться от имени sudo (например, текстовый редактор nano, имеющий полный путь /usr/bin/nano);
      Узнать полный путь расположения команды можно командой which, например:

      which nano
      пути расположения команд стандартны и не обычно зависят от системы, однако в случае нестандартных системе может понадобиться получить пути на той машине, на которой будет применяться правило.

    2. Опционально указать описание команды в произвольной форме:
       

    3. Для сохранения изменений нажать "Добавить". В результате указанная команда будет добавлена в список зарегистрированных команд:


      Далее эту команду можно будет использовать в правилах sudo.


Создание правила sudo

Для создания нового правила sudo:

  1. Перейти на вкладку "Политика" ;
  2. В выпадающем меню "Sudo" выбрать пункт "Правила Sudo";
  3. Нажать "Добавить";
  4. Для добавления нового правила нажать "Добавить" и ввести имя правила:
  5. Нажать "Добавить" (будет создано "пустое" правило, которое можно отредактировать позже) или нажать "Добавить и изменить", после чего будет создано "пустое" правило и сразу откроется форма настройки параметров этого правила:

Настройка параметров правила sudo

При настройке параметров правила sudo задаются следующие параметры:

  • Раздел "Основные":
    • "Порядок sudo" - необязательный приоритет правила. Представляется целым числом, определяет очередность выполнения правила. Правила с большим значением выполняются раньше;
    • "Описание" - необязательный комментарий к правилу;
  • Раздел "Параметры" — параметры для команды  sudo. Например, наиболее распространенная опция - не запрашивать пароль у пользователя при использовании команды sudo (опция "!authenticate"). Если в правиле указать эту опцию, то указанные в правиле команды можно будет выполнять через sudo без ввода пароля, если опция не используется - то потребуется ввести пароль пользователя, выполняющего команду.
    Полный список поддерживаемых параметров см. в справочной системе:

    man sudoers

  • Раздел "Кто"  — список пользователей и групп пользователей, которым разрешено применять sudo в соответствии с правилом. Можно разрешить применять правило всем пользователям (группам пользователей);

  • Раздел "Получить доступ к узлу" — список узлов в домене FreeIPA, на которых применяется правило. Можно разрешить применять правило на всех узлах;

  • Раздел "Выполнить команды" — команды, к которым применяется данное правило. Возможно "Разрешить" или "Запретить" выполнение команды или группы команд (порядок объединения команд в  группы см. далее), также возможно разрешить выполнять все команды;

  • Раздел "В качестве" — от имени какого пользователя или группы пользователей (не root-пользователя) может быть выполнена команда. При добавлении группы пользователей в "Группы пользователей запуска от имени" для выполнения команды могут использоваться идентификаторы пользователей (UID) членов этой группы. При добавлении в "Группы запуска от имени" для выполнения команды могут использоваться GID этой группы.

После внесения изменений в правило следует убедиться, что все изменения сохранены (кнопка "Сохранить" в начале формы) и нажать эту кнопку для сохранения изменений если она доступна.

Удаление или отключение правила

Для удаления или отключения правила:

  1. Выбрать из списка правило, которое необходимо отключить или удалить;
  2. Для отключения правила нажать кнопку  "Отключить", для удаления — "Удалить".

Объединение команд в группу

Для удобства управления команды можно объединять в группы. Для этого:

  1. Перейти на вкладку "Политика";
  2. В выпадающем меню "Sudo" выбрать пункт "Группы команд Sudo";
  3. Нажать "Добавить";
  4. Ввести имя группы;
  5. Нажать "Добавить и изменить";
  6. Добавить команды, который нужно объединить в группу.