如何从终端锁定 LUKS 分区?

如何从终端锁定 LUKS 分区?

我需要以普通用户的身份从终端锁定打开的 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

相关内容