
Я использую рабочую станцию Rocky Linux 8.4 с рабочими столами GNOME и MATE, но я столкнулся с той же проблемой на CentOS 7.9...
Когда я вхожу в машину на локальном дисплее, я могу делать такие вещи, как администрирование пользователей и установка системного времени с помощью приложения Control Centre (это в MATE, инструменты спрятаны в меню в GNOME). Когда я нажимаю на инструмент, я получаю всплывающее окно с запросом моего пароля или кнопку «разблокировать», которую нужно нажать перед аутентификацией. Все это работает, потому что мой пользователь является членом административной группы «wheel».
Однако, когда тот же пользователь входит в ту же среду рабочего стола через xrdp
, возможность администрирования системы исчезает. В некоторых случаях кнопка «разблокировать» неактивна, в других случаях, когда я нажимаю на значок приложения инструмента, я получаю сообщение «Ошибка выполнения команды от имени другого пользователя: нет авторизации» в моем .xsession-errors
файле.
Насколько я понимаю, проблема заключается в том, что polkit
локальные и удаленные сеансы обрабатываются по-разному, и, по сути, блокируются административные действия из удаленных сеансов, такие как xrdp, vnc и т. д. Это неприятно, поскольку основной причиной настройки службы xrdp было то, что ямогадминистрировать машину удаленно! Я могу обойти это в какой-то степени с помощью sudo
терминала, но на самом деле я хочу, чтобы это Просто Работало™.
Итак, мой вопрос: как мне настроить polkit
удаленный сеанс для моего пользователя-администратора так же, как и локальный сеанс? (Всегда предполагаю, что источником моей проблемы является polkit!)
решение1
Сформулировав вчерашние разочарования более кратко, я воспользовался известным поисковиком, чтобы найти «linux polkit local and remote sessions» и получил это в качестве первого результата -Включение привилегий управления системой для нелокальных пользователей. Как, черт возьми, это работает polkit
? Ответ (слегка измененный по сравнению с вопросом по ссылке) заключается в создании файла, /etc/polkit-1/localauthority/50-local.d/10-remote-admin-allow.pkla
содержащего
[Allow Remote Admin]
Identity=unix-group:wheel
Action=*
ResultAny=auth_admin_keep
ResultInactive=auth_admin_keep
ResultActive=auth_admin_keep
и запустить systemctl restart polkit
(что жизненно важно, но было упущено в другом вопросе). Вы также можете поместить этот файл в /var/lib/polkit-1
, но согласноpklocalauthority.8Первый вариант предназначен для локальной конфигурации, а второй — для сторонних пакетов.
решение2
Мне очень помогло. Спасибо!
Я не был уверен, что такое «Identity=unix-group:колесо", поэтому я изменил группу на «sudo». Думаю, группа «users» тоже подошла бы.
Кстати, я использую Linux Lite 6.0.
Ваше здоровье!