Nic*_*oul 10 udisks luks gnome-disk-utility
2012 年,我使用 Ubuntu 的gnome-disks实用程序来加密外部驱动器。
去年我仍然能够解锁它。
但是今天我在 Ubuntu 2012.04 上再次尝试并gnome-disks说:
Error unlocking encrypted device
Not authorized to perform operation (udisks-error-quark, 4)
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题并解锁我的数据?

小智 20
问题可以用sudo解决:
gksudo gnome-disks
Run Code Online (Sandbox Code Playgroud)
然后,正常运行
udisks2(由 gnome-disks-utilities 内部使用)返回的错误代码 4 是UDISKS_ERROR_NOT_AUTHORIZED_CAN_OBTAIN代码中的常量。
如果当前主体(实际上是 gnome-disks 应用程序)不允许进行解锁操作,则返回此代码,但是如果提供进一步的身份验证,通常是通过提供系统管理员(root)密码,则可能会允许它。
这种额外的密码查询通常由所谓的身份验证代理处理。此代理似乎未在您的环境中正确设置。
我在 i3wm 会话中使用 gnome-disks 时遇到了同样的问题(在 archlinux 中——但是这在 Ubuntu 下应该是类似的):安装了(传统的)“polkit-gnome”身份验证代理(并在会话启动时启动它之后)脚本),我首先获得了用于指定设备 LUKS 密码的密码对话框,然后是第二个对话框,要求输入 root 密码。
您提到的命令行 hack 也可以udisksctl以更简洁的方式使用:
udisksctl unlock --block-device /dev/sda1
udisksctl mount --block-device /dev/mapper/my_encrypted_volume
Run Code Online (Sandbox Code Playgroud)
请注意,udisksctl unlock当正确设置身份验证代理时, gnome-disks 会要求输入(相同的)两个密码。sudo这里不需要使用。
有关更多信息,请深入研究 udisks2 和 polkit 文档或直接查看 udisks2 源代码。这就是我的理解并最终为我解决了问题。
| 归档时间: |
|
| 查看次数: |
32901 次 |
| 最近记录: |