我有一个文件夹/srv/share
,我想在几个共享非主要组 ( share
) 的用户之间共享。我想强制将移动或创建的任何文件和/或目录/srv/share
归该share
组所有。我使用的是 FreeBSD 11,共享位于 ZFS 卷上。
截至目前,这几乎有效 - 我正在setgid
文件夹上使用(该文件夹已归 拥有share
),如果我创建一个子目录,则该子目录归正确的组所有。但是,如果以组成员用户身份运行的应用程序将share
目录中的文件移动到/srv/share
,则这些文件归应用程序用户的组所有。
我该如何设置?我迷茫了,花了两个晚上谷歌搜索,却几乎一无所获。
答案1
(我目前没有可用的 freebsd 控制台,但这似乎可以在 Mac OS X 上运行):
chown:共享/srv/共享
chmod g+s /srv/共享
mv
在同一已安装文件系统中,通常会保留所有权和权限,因为文件存在于其原始位置。但是,在已安装的文件系统中,我预计行为看起来更像是cp
后跟unlink
。因此,我相信g+s
应该具有所需的行为。