Linux(Ubuntu)使用限制性 umask 进行 CIFS 挂载

Linux(Ubuntu)使用限制性 umask 进行 CIFS 挂载

我正在尝试在 Ubuntu 14.04 中使用 CIFS 安装 NAS 共享。这是我的个人共享,我想确保文件只能由我读取,而其他登录的用户则无法读取。因此,理想情况下,我想umask=...mount命令中使用类似 a 之类的命令,以确保文件和目录始终显示其组和其他权限设置为 0。

不幸的是,umask不支持参数mount.cifs。该命令提供了另外两个参数(file_modedir_mode),但它们似乎只对新创建的文件有效,因为无论我指定什么值,我挂载的共享上的文件和目录总是以模式 0777 显示。

是否有任何技巧可以强制对已挂载的文件和目录设置特定的权限(除了创建挂载目录模式的父级0700)?

答案1

一种可能性是将 cifs 共享挂载到个人文件夹中,例如 ubuntu 所做的那样。设置 /media/user 的权限,然后将其挂载到 /media/user/share 上。

另一种(也是更好的)可能性是使用 pam_mount。这是一个基于用户的挂载系统,这意味着挂载不会出现在 fstab 中。每个用户都可以设置自己的挂载。我真的很喜欢这个系统。然后,在您的个人(或全局)配置文件中,为您的卷设置挂载选项 dir_mode=0700。它对我来说很管用,刚刚试过了。确保在全局配置文件中允许用户挂载和 dir_mode 选项。

祝你好运!

答案2

如果您将 cifsacl 作为选项添加到 cifs 命令中(它必须在同一文件 pam_mount.conf.xml 中先前定义),则无需指定 dir_mode 或 file_mode:挂载将使用 0700 作为掩码并遵守文件和目录的远程 ACL。

相关内容