强制用户访问特定目录而不是整个共享

强制用户访问特定目录而不是整个共享

桑巴force user配置参数很有用,因为它允许多个用户访问共享,同时以单个指定用户的身份执行所有文件操作。

但是,是否可以force user在每个目录的基础上使用该参数?

我有许多共享,由几个不同的用户和各种设备访问。最近我创建了一个名为“OmniShare”的共享,它允许访问所有共享中的文件,而只需在 Windows 中映射一个驱动器。我在主计算机上使用它。它的配置如下:

[omnishare]
    path = /home/redacted/OmniShare
    valid users = redacted
    read only = no
    browseable = no
    hosts allow = 192.168.1.20

/home/redacted/OmniShare只是一个目录,其中包含指向path其他共享的指定符号链接。由于某些共享可供其他用户访问redacted,因此我避免通过 OmniShare 进行写入,以防止其他人在读取和修改文件时遇到问题。

是否可以使用force user参数,以便指定用户根据符号链接目录执行文件操作?


例子:

中的文件操作由而不是/home/redacted/OmniShare/user1执行。user1redacted

中的文件操作由而不是/home/redacted/OmniShare/user2执行。user2redacted

或者,也许有更好的方法可以实现这一目标?

答案1

听起来你的OmniShare行为有点像微软的分布式文件系统命名空间在功能上,但在实现上并非如此。DFS 命名空间允许您将不同的共享呈现为单个统一的共享。

我认为你最好看一下:https://wiki.samba.org/index.php/DFS

Samba 可以像 DFS 命名空间一样将共享“编织”在一起。与使用指向文件系统位置的符号链接相比,您将使用指向 SMB 共享的符号链接。我希望Samba 能够观察到目标共享的功能(我不会在 DFS 根上force user设置任何功能)。force user

相关内容