2012 年,我使用 Ubuntugnome-disks
实用程序加密了一个外部驱动器。
去年我仍然可以解锁它。
但是今天我在 Ubuntu 2012.04 上再次尝试并gnome-disks
显示:
Error unlocking encrypted device
Not authorized to perform operation (udisks-error-quark, 4)
如何解决这个问题并解锁我的数据?
答案1
该问题可以通过 sudo 解决:
gksudo gnome-disks
然后正常运行
答案2
udisks2 返回的错误代码 4(由 gnome-disks-utilities 内部使用)是UDISKS_ERROR_NOT_AUTHORIZED_CAN_OBTAIN
代码中的常量。
如果当前主体(实际上是 gnome-disks 应用程序)不允许执行解锁操作,则返回此代码,但是如果提供进一步的身份验证(通常是提供系统管理员(root)的密码),则可能允许执行该操作。
这种额外的密码查询通常由所谓的身份验证代理处理。看来您的环境中没有正确设置此代理。
我在 i3wm 会话中使用 gnome-disks 时遇到了同样的问题(在 archlinux 中 - 但在 Ubuntu 下应该类似):安装了(旧版)“polkit-gnome”身份验证代理(并在会话启动脚本中启动它)后,我首先得到了用于指定设备 LUKS 密码的密码对话框,然后得到了要求输入 root 密码的第二个对话框。
udisksctl
您提到的命令行 hack 也可以通过更干净的方式完成:
udisksctl unlock --block-device /dev/sda1
udisksctl mount --block-device /dev/mapper/my_encrypted_volume
请注意,当身份验证代理正确设置时,将要求输入(相同)两个密码,与 gnome-disks 一样。这里udisksctl unlock
无需使用。sudo
如需更多信息,请深入研究 udisks2 和 polkit 文档或直接查看 udisks2 源代码。这就是我理解并最终解决问题的方法。
答案3
对我有帮助的与 Thrushbeard 的解释非常相似,但我还不能发表评论。
我安装mate-polkit
并执行了/usr/lib/x86_64-linux-gnu/polkit-mate-authentication-agent-1
。如果你不使用 Mate,那么还有所有 Polkit 软件包的概述。单击该 wiki 页面上的相应链接,然后单击“查看 [package] 的文件列表”以查找适合您环境的可执行文件的名称。希望对您有所帮助!
答案4
该问题可以通过命令行解决:
sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume
sudo mkdir /media/adhoc
sudo mount /dev/mapper/my_encrypted_volume /media/adhoc
您现在可以访问 /media/adhoc 文件夹中的文件。
my_encrypted_volume
并且adhoc
可以是任何您想要的名字(没有空格),任何名字都可以。