更改 eCryptFS 挂载选项(删除 nosuid)?

更改 eCryptFS 挂载选项(删除 nosuid)?

有没有办法修改 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 中修改挂载点。请确保您选择的挂载点存在且具有适当的权限。

相关内容