Мне нужно заблокировать открытый раздел luks с терминала как обычный пользователь.
Другими словами, мне нужно, чтобы команда терминала делала то же самое, что и sudo cryptsetup luksClose <name>
, но без привилегий root.
тип в терминале:
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
Можно заставить udisks2
делать это для Вас с udisksctl
(доступный в 14.04 LTS и позже):
udisksctl lock -b /dev/sdXY
, где/dev/sdXY является блочным устройством, Вы хотите заблокировать (не картопостроитель LUKS т.е./dev/mapper/ubuntu)
, можно также разблокировать (открывают) его с
udisksctl unlock -b /dev/sdXY