CentOS:xrdp 會話上的管理員使用者不能做管理員
我正在執行帶有 GNOME 和 MATE 桌面的 Rocky Linux 8.4 工作站,但我在 CentOS 7.9 上看到了同樣的問題……
當我在本地顯示器上登錄機器時,我可以使用控制中心應用程序管理使用者和設置系統時間(這在 MATE 上,這些工具隱藏在 GNOME 的菜單中)。當我點擊該工具時,我會彈出一個詢問我的密碼的彈出視窗,或者在我通過身份驗證之前點擊一個“解鎖”按鈕。這一切都有效,因為我的使用者是“wheel”管理組的成員。
但是,當同一個使用者登錄到同一個桌面環境時
xrdp
,管理系統的能力就消失了。在某些情況下,“解鎖”按鈕是灰色的,在其他情況下,當我點擊工具應用程序圖示時,我會在我的.xsession-errors
文件中收到一條消息“以其他使用者身份執行命令時出錯:未授權”。據我了解,問題在於以
polkit
不同方式處理本地和遠端會話,並且基本上阻止來自遠端會話(如 xrdp、vnc 等)的管理操作。這很痛苦,因為設置 xrdp 服務的主要原因是我可以遠端管理機器!我可以在某種程度上使用sudo
終端來解決這個問題,但我真的希望它能夠工作™。所以我的問題是 - 我如何配置
polkit
以將我的管理員使用者的遠端會話與本地會話相同?(總是假設 polkit 是我問題的根源!)
在更簡潔地描述了昨天的挫折之後,我使用了一個著名的搜尋引擎來查找“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,前者用於本地配置,而後者用於 3rd 方包。