有没有办法修改 Ubuntu 上加密主分区的挂载选项,特别是删除 nosuid 选项?
与此相关的是,删除 nosuid 是否会导致安装加密主页时出现任何困难?
由于原始问题含糊不清,因此添加更多细节。
我正在尝试构建一个项目,该项目要求它不位于使用 nosuid 安装选项安装的驱动器上。最近,在更新 Trusty 后,它开始抱怨 nosuid。
我检查了 fstab,但没有看到正在使用的选项:
$ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
...
UUID=<snip> / ext4 errors=remount-ro 0 1
...
因此我检查了 /proc/mounts,看起来我的主文件夹是 eCryptFS 使用的 VFS 挂载,因为我的主文件夹已加密:
$ cat /proc/mounts
...
/home/cdot/.Private /home/cdot ecryptfs rw,nosuid,nodev,relatime,ecryptfs_fnek_sig=<snip>,ecryptfs_sig=<snip>,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs 0 0 gvfsd-fuse /run/user/1001/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1001,group_id=1001 0 0
...
但到目前为止,我找不到 eCryptFS 使用的挂载选项在哪里设置,或者如何更改它们。所以这让我回到最初的问题:我可以在哪里设置它,以及(额外)nosuid 选项只是预防措施还是删除它会破坏 eCryptFS?
提前感谢任何详细信息。
答案1
我在构建 LinuxCNC 以在 Ubuntu 18.04 上运行时遇到了这个问题;LinuxCNC 代码使用 setuid root 二进制文件与 PREEMPT RT 内核扩展进行通信,并明确禁止以 root 身份执行。我在 ecryptfs 主目录中构建了代码,LinuxCNC 代码没有有用的错误消息,但我最终将其追溯到 ecryptfs 添加的“nosuid”挂载选项。
我的(临时)解决方法是对挂载进行运行时修改。这不会在重新启动后持续存在,但允许我测试该应用程序,并且它可能对其他人有用。
sudo mount -i -o remount,suid $HOME
除了安全隐患之外,我预计 ecryptfs 文件系统的操作不会受到影响。
答案2
您可以在 /etc/fstab 中修改挂载点。请确保您选择的挂载点存在且具有适当的权限。