Fak*_*ame 7 ssh centos ssh-tunneling
我正在使用 X over SSH 远程管理 CentOS 6.2 服务器(实际上是 NX,但这只是一个代理)。
Everything 工作正常,除非我尝试执行通常需要管理权限的任务(例如 中的内容palimpsest或任何其他 GUI 工具)。
当我尝试执行会触发身份验证对话框的操作(通过polkit-gnome)时,权限对话框无声无息地失败,并且软件以我的用户帐户而不是 root 身份运行。
澄清一下,如果我在本地控制台使用包管理器更改包设置,我会收到一个弹出窗口 - “(添加/删除)包需要身份验证”。
如果我远程执行此操作,身份验证将失败,并且会出现“授权失败”对话框。
它似乎归结为 policykit 配置,但我遵循了 polkit 手册页,并编辑了我的配置,它没有改变任何东西。
我可以从命令行管理包/做超级用户的事情,没有任何问题。但是,我非常注重视觉,并且在可能的情况下更喜欢 GUI。
好的,看来我需要向 policykit 添加新规则。
离开手册页,我创建了一个文件(名为20-remote-admin-allow.pkla),并将其放入/etc/polkit-1/localauthority/50-local.d/. 由于似乎有多个 polkit 配置目录,我将同一个文件复制到/var/lib/polkit-1/localauthority/50-local.d/.
它似乎没有改变任何东西。
这是我的配置文件,如上所述:
[root@cloaica zul]# cat /var/lib/polkit-1/localauthority/50-local.d/10-remote-admin-allow.pkla
[Let remote users do admin stuff]
Identity=unix-user:zul
Action=*
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=auth_self_keep
[root@cloaica zul]# cat /etc/polkit-1/localauthority/50-local.d/20-remote-admin-allow.pkla
[Allow Remote Administraton]
Identity=unix-user:zul
Action=*
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=auth_admin
[root@cloaica zul]#
Run Code Online (Sandbox Code Playgroud)
pkaction --verbose 仍然报告
implicit any: no
implicit inactive: no
Run Code Online (Sandbox Code Playgroud)
对于大多数操作,如果我尝试执行这些操作,则上述操作会失败,并带有“身份验证失败”对话框,如上所述。
说真的,我真的了解 polkit 的实际工作原理吗?
Policykit 似乎是一个持续的噩梦,考虑到曾经有一个 GUI 配置工具 并且它被删除了,我不明白有人认为这已经准备好发布到生产操作系统中了。
明确地说,我喜欢“请进行身份验证以执行此操作”对话框。我只想真正拥有它们,而不是让系统静默地无法进行身份验证。
我不想删除整个 polkit,只是让它认为所有会话都处于活动状态,或者非活动会话获得与活动会话相同的权限。