我需要以普通用户的身份从终端锁定打开的 luks 分区。
换句话说,我需要终端命令执行相同的操作,sudo cryptsetup luksClose <name>
但没有 root 权限。
答案1
您可以udisks2
使用以下工具为您完成此操作udisksctl
(在 14.04 LTS 及更高版本中可用):
udisksctl lock -b /dev/sdXY
其中 /dev/sdXY 是您要锁定的块设备(不是 LUKS 映射器,即 /dev/mapper/ubuntu)
您还可以使用以下方法解锁(打开)
udisksctl unlock -b /dev/sdXY
答案2
在终端中输入:
qdbus --system org.freedesktop.UDisks /org/freedesktop/UDisks/devices/sdX org.freedesktop.UDisks.Device.LuksLock NULL
解释:
qdbus
:基于 qt 的应用程序的通信接口
--system
:连接到系统总线
org.freedesktop.UDisks
:要连接的服务
/org/freedesktop/UDisks/devices/sdX
:对象的路径
org.freedesktop.UDisks.Device.LuksLock
:要调用的方法
NULL
:方法选项
有关此服务的更多方法:http://udisks.freedesktop.org/docs/1.0.5/Device.html
或者直接输入命令而不输入方法:qdbus --system org.freedesktop.UDisks /org/freedesktop/UDisks/devices/sdX