概括
有没有办法强制file_mode=
和dir_mode=
选项即使在启用 UNIX 扩展时也生效,而不像该noperm
选项那样完全禁用本地权限检查?
细节
我正在从运行 Samba 的远程主机安装 CIFS 共享。 UNIX 扩展已启用,因此我可以看到本地计算机上的所有者和权限(模式)。
由于服务器上的 UID 与我的本地计算机不匹配,因此我使用、 和uid=
选项gid=
使所有文件在本地显示为正确的用户。这很好用。forceuid
forcegid
但是,服务器端权限允许完全访问 (0777),因此本地计算机上的任何人都可以查看共享。我想更改权限,以便只有uid=
装载选项中指定的用户才能访问共享。
file_mode=
我可以在和选项中指定这些值dir_mode=
,但是当启用 UNIX 扩展时这些值将被忽略。
我只能看到两个选项:
- 禁用 UNIX 扩展,这将使权限起作用。但是,无法在共享上创建符号链接(并且该
sfu
选项没有帮助),因此这是不切实际的。 - 使用忽略权限集的选项挂载共享
noperm
(因此不会出现意外设置错误权限的问题),但是这会禁用所有权限检查,因此本地计算机上的任何人仍然可以访问该共享。 - 将共享装载到另一个文件夹中,并将权限应用到该父文件夹。这有点狡猾,所以如果可以的话,我宁愿解决 CIFS 安装上的问题!
那么,有没有一种方法可以强制file_mode=
和dir_mode=
选项即使在启用 UNIX 扩展的情况下也生效,同时仍然在本地强制执行最终的权限?