![哪项服务要求“进行身份验证才能更改自己的用户数据”?](https://linux22.com/image/1053974/%E5%93%AA%E9%A1%B9%E6%9C%8D%E5%8A%A1%E8%A6%81%E6%B1%82%E2%80%9C%E8%BF%9B%E8%A1%8C%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%89%8D%E8%83%BD%E6%9B%B4%E6%94%B9%E8%87%AA%E5%B7%B1%E7%9A%84%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E2%80%9D%EF%BC%9F.png)
时不时地(仅有的恢复后暂停)我得到了以下对话。
提供的信息不足以让我决定做什么(因此我取消当然:-)
“详细信息”部分的链接没有任何意义。
我的猜测是某个程序(A)正在向某个服务(B)请求权限。
我想知道如何找出哪个服务/程序(B)生成此对话框(也欢迎提供有关程序(A)首先请求权限的提示:-))
Ubuntu 15.10
waltinator 的回答引发了进一步调查,结果显示polkitd
可能属于(B)部分
摘录自journalctl
(插入换行符以防止滚动)
Jan 10 12:22:04 big polkitd(authority=local)[1157]: Operator of unix-session:c2 FAILED to authenticate to gain authorization for action org.freedesktop.accounts.change-own-user-data for system-bus-name::1.68 [/usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service] (owned by unix-user:g) Jan 10 12:22:04 big dbus[1045]: [system] Rejected send message, 9 matched rules; type="error", sender=":1.4" (uid=0 pid=1117 comm="/usr/lib/accountsservice/accounts-daemon ") interface="(unset)" member="(unset)" error name="org.freedesktop.Accounts.Error.PermissionDenied" requested_reply="0" destination=":1.68" (uid=1000 pid=3973 comm="/usr/lib/x86_64-linux-gnu/indicator-messages/indic")
感谢 waltinator 关于 的建议xwininfo
(它没有告诉窗口进程的 pid),我现在找到了wininfo
。所以我能够确认该窗口是由 创建的/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
。
现在我想要一种方法来询问polkitd
哪个policykit
程序请求了哪个操作,但这需要一个新的问题。
答案1
xlsclients
将帮助您找出哪个进程拥有弹出窗口。来自man xlsclients
(实际上来自http://manpages.ubuntu.com/manpages/trusty/en/man1/xlsclients.1.html):
trusty (1) xlsclients.1.gz 由 x11-utils_7.7+1_i386 提供 bug
姓名
xlsclients - list client applications running on a display
概要
xlsclients [-display displayname] [-a] [-l] [-m maxcmdlen]
描述
Xlsclients is a utility for listing information about the client
applications running on a display. It may be used to generate scripts
representing a snapshot of the user's current session.
NAME
xlsclients - list client applications running on a display
SYNOPSIS
xlsclients [-display displayname] [-a] [-l] [-m maxcmdlen]
答案2
该错误已得到解决:https://bugs.launchpad.net/ubuntu/+source/policykit-1-gnome/+bug/1512002
您可以安装更新的软件包(必须启用“建议的”存储库),该软件包会修改策略:
/usr/share/polkit-1/actions/org.freedesktop.accounts.policy
- <allow_any>auth_self</allow_any>
- <allow_inactive>auth_self</allow_inactive>
+ <allow_any>yes</allow_any>
+ <allow_inactive>yes</allow_inactive>
“目前,data/org.freedesktop.accounts.policy.in 指定用户必须处于活动状态才能设置自己的数据。” -alkisg
“我想不出在这种情况下为什么有会话很重要,所以我认为将 allow_any 更改为 yes 应该没问题。” -mdeslaur
“此错误已在软件包 accountsservice - 0.6.40-2ubuntu12 中修复” -看门人