如何使一个目录可供一组用户递归读取/写入?
问题:
这是 apache 使用的目录,因此访问权限应该相当严格。我能让它充分工作的唯一方法是将目录挂载为 nfs 共享,从而强制将 uid 和 gid 设置为特定的组和 uid。但这似乎是一种黑客行为,允许任何人修改内容,尽管 apache 对“真实”目录具有相当严格的访问权限。
我尝试过的方法:
我尝试过 setgid 位,但在通过 scp 复制目录时失败。即使在尝试在 6 个不同的地方设置 umask 后也是如此。并且我已安装并挂载了分区以使用 acl,在使用 scp/sftp 复制时,组权限也存在同样的问题。
这真是令人沮丧,因为这似乎是一个如此简单而深刻的问题,我还没有找到令人满意的解决方案。希望我在这里忽略了一些显而易见的东西。主要使用 Debian squeeze。
答案1
使用 chmod g+s 和强制 umask 的解决方案效果很好。您是否在 sshd_config 文件中强制了 sftp 子系统 umask?
Subsystem sftp internal-sftp -u 0002
答案2
如果你需要 sftp 的一些灵活性,你可能想尝试安全外壳。它具有以下权限选项:
DirFakeUser #隐藏真实文件/目录所有者(仅更改显示的权限)
DirFakeGroup #隐藏真实文件/目录组(仅更改显示的权限)
DirFakeMode #隐藏真实文件/目录权限(仅更改显示的权限)
力量集团