我正在运行带有 GNOME 和 MATE 桌面的 Rocky Linux 8.4 工作站,但在 CentOS 7.9 上也看到了同样的问题……
当我在本地显示器上登录机器时,我可以使用控制中心应用程序(在 MATE 上是这个,在 GNOME 上工具隐藏在菜单中)执行诸如管理用户和设置系统时间之类的操作。当我单击该工具时,我会弹出一个要求我输入密码的窗口,或者在进行身份验证之前会有一个“解锁”按钮需要单击。这一切都有效,因为我的用户是“wheel”管理组的成员。
但是,当同一个用户多次登录同一个桌面环境时xrdp
,管理系统的能力就消失了。在某些情况下,“解锁”按钮会变灰,而在其他情况下,当我单击工具应用程序图标时,我的文件中会显示一条消息“以其他用户身份执行命令时出错:未经授权” .xsession-errors
。
据我了解,问题在于polkit
对本地和远程会话的处理方式不同,并且基本上阻止了来自远程会话(如 xrdp、vnc 等)的管理操作。这很麻烦,因为设置 xrdp 服务的主要原因是可以远程管理机器!我可以通过sudo
终端解决这个问题,但我真的希望它能正常工作。
所以我的问题是 - 如何配置polkit
以将我的管理员用户的远程会话与本地会话相同地处理?(始终假设 polkit 是我的问题的根源!)
答案1
为了更简洁地描述昨天的挫败感,我使用了一个知名的搜索引擎来搜索“linux polkit 本地和远程会话”,并得到了这个作为最佳结果 -为非本地用户启用系统管理权限——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’。我猜‘用户’组也可以正常工作。
顺便说一下,我正在运行 Linux Lite 6.0。
干杯!