Требуется аутентификация –

Вопрос или проблема

Я присоединил операционную систему Linux к домену AD и добавил группы AD в файл sudoers. Все работает отлично, но при выполнении некоторых задач, требующих привилегий sudo, появляется окно аутентификации, похожее на Windows. В выпадающем меню не отображаются пользователи AD — только пользователи, которые были добавлены в файл sudoers индивидуально.

Я попробовал добавить своего пользователя из домена AD индивидуально, и тогда он появляется в выпадающем меню, хотя группа AD уже была добавлена в /etc/sudoers.

Добавлять каждого пользователя AD индивидуально в группу sudo очень трудоемко.
введите описание изображения здесь

Это не диалог sudo. Это диалог policykit, который имеет свою собственную систему авторизации, которая, как ни странно, преднастроена вашим дистрибутивом для использования той же группы, что и ‘sudo’.

Его эквивалентом файла “sudoers” является основанный на JavaScript файл /etc/polkit-1/rules.d/*.rules, как документировано в справочной странице polkit(8). Например, если вы хотите предоставить “администраторские” права конкретной группе, вы можете использовать addAdminRule():

polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

Ответ или решение

Для решения вашей проблемы, связанной с тем, что при выполнении команд с использованием sudo появляется диалоговое окно аутентификации PolicyKit, необходимо внести изменения в конфигурацию PolicyKit для предоставления прав на выполнение административных задач для групп Active Directory (AD).

Как вы уже заметили, использующееся вами диалоговое окно не является окном sudo, а представлено PolicyKit, который использует свою собственную систему авторизации. По умолчанию PolicyKit может не учитывать группы AD в качестве допустимых субъектов для выполнения административных задач.

Для того чтобы настроить PolicyKit на использование ваших групп AD, выполните следующие шаги:

  1. Создайте файл правил PolicyKit:

    Откройте терминал и создайте новый файл правил в директории /etc/polkit-1/rules.d/. Например, вы можете назвать его 50-adtogroup.rules.

    sudo nano /etc/polkit-1/rules.d/50-adtogroup.rules
  2. Добавьте правила для вашей AD группы:

    Вставьте в созданный файл следующий код, который позволит всем пользователям из указанной AD группы (например, sudoers) выполнять любой вызов PolicyKit без запроса пароля:

    polkit.addAdminRule(function(action, subject) {
       if (subject.isInGroup("YOUR_AD_GROUP")) {
           return polkit.Result.YES;
       }
    });

    Замените YOUR_AD_GROUP на имя вашей группы Active Directory, для которой вы хотите предоставить права.

  3. Сохраните файл и выйдите из редактора. Если вы используете nano, сделайте это, нажав CTRL+X, затем Y для подтверждения изменений и Enter.

  4. Проверьте конфигурацию:

    После того как вы добавили правила, перезапустите необходимые службы или систему, чтобы изменения вступили в силу. Это может потребовать перезагрузки системы или повторного входа в систему.

  5. Тестирование:

    После внесения изменений попробуйте выполнить команду, которая требует повышенных привилегий. Вы должны увидеть, что диалоговое окно аутентификации больше не запрашивает ввод пароля от пользователя, состоящего в указанной группе AD.

Эти шаги должны помочь вам избавиться от необходимости добавлять каждого пользователя AD индивидуально в список sudo, и автоматизировать процесс аутентификации для всех пользователей группы AD.

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

Оцените материал
Добавить комментарий

Капча загружается...