在更高版本的 Ubuntu 上从命令行挂载加密卷的规范方法涉及udisksctl
。但是,该配方以只读模式安装卷。
$ udisksctl unlock -b /dev/sdd1
Passphrase:
Unlocked /dev/sdd1 as /dev/dm-1.
$ ls -la /dev/mapper
total 0
drwxr-xr-x 2 root root 100 apr 2 12:58 .
drwxr-xr-x 20 root root 4860 apr 2 12:58 ..
crw------- 1 root root 10, 236 mrt 28 19:27 control
lrwxrwxrwx 1 root root 7 apr 2 12:58 luks-1841d2d1-4ce7-46e4-805e-0be262199e7d -> ../dm-1
lrwxrwxrwx 1 root root 7 apr 2 12:53 NOAB -> ../dm-0
$ udisksctl mount -b /dev/mapper/luks-1841d2d1-4ce7-46e4-805e-0be262199e7d
Mounted /dev/dm-1 at /media/user/NOAB
$ cd /media/user/NOAB
$ touch test.txt
touch: cannot touch 'test.txt': Read-only file system
通过udisksctl
手册,我了解到它采用与旧版本相同的参数mount
。所以我尝试了一下:
$ udisksctl unmount -b /dev/mapper/luks-1841d2d1-4ce7-46e4-805e-0be262199e7d
Unmounted /dev/dm-1.
$ udisksctl mount -o umask=0 -b /dev/mapper/luks-1841d2d1-4ce7-46e4-805e-0be262199e7d
Error mounting /dev/dm-1: GDBus.Error:org.freedesktop.UDisks2.Error.OptionNotPermitted: Mount option `umask=0' is not allowed
还有其他方法可以将umask
参数传递给 吗udisksctl
?或者有其他方法可以以读写模式挂载卷?
答案1
这个问题似乎根源于此udisksctl
,可能是此工具的一个限制。解决方案是使用以下方法解密卷:cryptsetup
并直接使用mount
(下面的日志)进行挂载。它也可以正确挂载到/media/user
文件夹。
$ sudo cryptsetup open /dev/sdd1 NOABdev
Enter passphrase for /dev/sdd1:
$ mkdir -p ~/mount/test
$ sudo mount /dev/mapper/NOABdev ~/mount/test
$ touch ~/mount/test/test.txt