我的 18.04 Kubuntu 笔记本电脑上有一个 luks 加密卷。当我在 Dolphin 中双击它时,系统会要求我输入 luks 密码,然后安装该卷。一切都很好。
但是这个卷也被另一个不在 sudo 组中的用户使用(由于其他原因不能在 sudo 组中)。当此用户尝试解密卷时,系统会要求他输入管理员密码。我有时也会通过 x2go/SSH 远程连接到计算机。在这种情况下,系统还会要求我输入管理员凭据。我想允许指定组中的所有用户解密 luks 卷,而无需输入管理员密码,无论他们通过何种方式连接(无论是直接在笔记本电脑上还是远程 - 从本地网络)
我花了好几个小时尝试设置 pkla 文件,/etc/polkit-1/localauthority/50-local.d/
但/var/lib/polkit-1/localauthority/50-local.d/
没有成功。
pkla文件的内容如下:
[Authorize mounting of luks volumes ]
Identity=unix-user:*
Action=org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-mount-system
ResultAny=yes
ResultInactive=yes
ResultActive=yes
该文件似乎被完全忽略了。我还尝试直接编辑该文件/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
并允许所有用户执行所有 udisks2 操作,但也没有用。
唯一有效的调整是在其中编辑默认权限,/usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
但该解决方案是不可接受的,因为我只想允许某些用户。
类似的 pkla 不工作的情况也曾被提出过这里但没有解决。
有什么想法吗?有没有办法检查或调试 pkla 文件?
答案1
我在解决问题的同时回答了自己的问题:
我使用 Libreoffice 编辑了 pkla 文件。在使用命令检查文件后,cat -A filename.pkla
我发现文件顶部有一行隐藏的行。这行在 libreoffice 和 nano 中都看不到。我猜这行阻止了 polkit 读取文件,但日志中没有报告任何错误。我用 nano 编辑了一个全新的文件,现在它可以正常工作了。