2.9.20.2.10 Предоставление права пользователям домена выполнять команды от пользователя root
Настройка /etc/sudoers
Настройка правила Polkit
Настройка правила Polkit при использовании SSSD
Настройка правила Polkit при использовании Winbind
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция
- Редакция ОС: Стандартная
В Linux существуют два механизма повышения привилегий:
-
sudo — для выполнения команд в терминале;
-
Polkit — для графических приложений и системных служб.
В зависимости от способа работы пользователя требуется настройка одного или обоих механизмов:
-
если пользователь работает только через SSH или терминал — достаточно настройки файла /etc/sudoers;
-
если используется графическая среда или веб-инструменты администрирования — дополнительно требуется настройка Polkit.
Настройка /etc/sudoers
Данный способ предоставляет доменным пользователям возможность выполнять команды от имени root с помощью sudo.
Используется для:
-
администрирования через SSH;
-
работы в терминале;
-
выполнения команд вручную или в скриптах.
Выполните вход в РЕД ОС под доменной учетной записью Active Directory.
Выведите список групп, в которых пользователь состоит, выполнив команду:
groups
пользователи домена администраторы домена dnsadmins
Запомните одну из доменных групп (например, dnsadmins), которой необходимо предоставить права.
Откройте файл /etc/sudoers для редактирования от пользователя root:
su - nano /etc/sudoers
Найдите строку:
%wheel ALL=(ALL) ALL
После этой строки вставьте название группы из AD по аналогии с предыдущей:
%dnsadmins ALL=(ALL) ALL
Сохраните файл.
Если в названии группы имеется пробел, то его необходимо экранировать с помощью обратного слеша — '\'.
Пример:
%администраторы\ домена ALL=(ALL) ALL
Данный параметр можно добавить командой:
sudo sh -c "echo '%администраторы\ домена ALL=(ALL) ALL' >> /etc/sudoers"
Если при вводе компьютера в домен используется Winbind, то в файл /etc/sudoers нужно добавлять пользователей и группы в следующем виде:
%DOMAIN\\group ALL=(ALL) ALL %DOMAIN\\user ALL=(ALL) ALL
Теперь проверьте, что пользователь или группа пользователей могут выполнять команды от имени суперпользователя root. Выполните команду:
cat /etc/sudoers cat: /etc/sudoers: Отказано в доступе
Но, если выполнить эту команду, добавив sudo и введя пароль пользователя, то cat выведет содержимое файла:
sudo cat /etc/sudoers
Это означает, что пользователю успешно предоставлены права на выполнение команд от root через sudo.
Настройка правила Polkit
Используя Polkit, можно обеспечить повышение привилегий с помощью аутентификации заданными доменными пользователями или пользователями из состава доменной группы. Подробнее о применении Polkit в РЕД ОС смотрите в нашей статье «Работа с политиками Polkit».
Polkit применяется, например, при:
-
изменении сетевых настроек через графический интерфейс;
-
установке пакетов через графический менеджер;
-
управлении службами через веб-интерфейс;
-
работе с системными настройками.
Даже если sudo настроен, графические приложения могут не предоставлять административный доступ без настройки Polkit.
Настройка правила Polkit при использовании SSSD
Данный вариант применяется, если интеграция с Active Directory выполнена через SSSD.
Для настройки Polkit при использовании SSSD выполните следующие действия:
1. Создайте файл правил /etc/polkit-1/rules.d/49-domain_admins.rules:
sudo nano /etc/polkit-1/rules.d/49-domain_admins.rules
Вставьте следующее содержимое:
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel","unix-user:winadmin","unix-group:Администраторы домена"];
});
Имя доменного пользователя winadmin и имя доменной группы Администраторы домена использованы в качестве примера. При настройке правила необходимо указать название вашей группы или имени пользователя в зависимости от требований.
2. Выполните перезагрузку службы polkit:
sudo systemctl restart polkit
3. Проверьте список пользователей при срабатывании Polkit, запустив приложение, требующее прав администратора:
Настройка правила Polkit при использовании Winbind
Данный вариант применяется, если интеграция с Active Directory выполнена через Winbind.
Для настройки Polkit при использовании Winbind выполните следующие действия:
1. Создайте файл правил /etc/polkit-1/rules.d/49-domain_admins.rules:
sudo nano /etc/polkit-1/rules.d/49-domain_admins.rules
Вставьте следующее содержимое:
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel","unix-user:SD\\winadmin","unix-group:SD\\Администраторы домена"];
});
Имя домена SD, имя доменного пользователя winadmin, имя доменной группы Администраторы домена использованы в качестве примера. При настройке правила необходимо указать название вашей группы или имени пользователя в зависимости от требований.
После имени домена обязательно используйте двойную обратную косую черту ("\\").
2. Для включения возможности получения участников доменных групп (при использовании таких в правиле Polkit):
-
добавьте параметр в секцию
[global]файла /etc/samba/smb.conf со значением от 1 до 10 (если необходимо разворачивать вложенные группы):
[global] winbind expand groups = 1
-
перезапустите службу winbind:
sudo systemctl restart winbind
3. Выполните перезагрузку службы polkit:
sudo systemctl restart polkit
4. Проверьте список пользователей при срабатывании Polkit, запустив приложение, требующее прав администратора:
Дата последнего изменения: 31.03.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.