挂载 CIFS 共享时遵循模式但忽略 UID/GID

挂载 CIFS 共享时遵循模式但忽略 UID/GID

概括

有没有办法强制file_mode=dir_mode=选项即使在启用 UNIX 扩展时也生效,而不像该noperm选项那样完全禁用本地权限检查?

细节

我正在从运行 Samba 的远程主机安装 CIFS 共享。 UNIX 扩展已启用,因此我可以看到本地计算机上的所有者和权限(模式)。

由于服务器上的 UID 与我的本地计算机不匹配,因此我使用、 和uid=选项gid=使所有文件在本地显示为正确的用户。这很好用。forceuidforcegid

但是,服务器端权限允许完全访问 (0777),因此本地计算机上的任何人都可以查看共享。我想更改权限,以便只有uid=装载选项中指定的用户才能访问共享。

file_mode=我可以在和选项中指定这些值dir_mode=,但是当启用 UNIX 扩展时这些值将被忽略。

我只能看到两个选项:

  1. 禁用 UNIX 扩展,这将使权限起作用。但是,无法在共享上创建符号链接(并且该sfu选项没有帮助),因此这是不切实际的。
  2. 使用忽略权限集的选项挂载共享noperm(因此不会出现意外设置错误权限的问题),但是这会禁用所有权限检查,因此本地计算机上的任何人仍然可以访问该共享。
  3. 将共享装载到另一个文件夹中,并将权限应用到该父文件夹。这有点狡猾,所以如果可以的话,我宁愿解决 CIFS 安装上的问题!

那么,有没有一种方法可以强制file_mode=dir_mode=选项即使在启用 UNIX 扩展的情况下也生效,同时仍然在本地强制执行最终的权限?

相关内容