将 NFS 目录挂载为特定用户的只读目录

将 NFS 目录挂载为特定用户的只读目录

我有一台服务器fileserver。文件服务器有一个名为 的 NFS 导出活动share

我有三个用户需要share通过远程计算机进行 ssh/sftp 访问fileaccessuser1user2user3

我该如何设置,以便通过登录fileaccess可以激活以下权限,而无需修改文件权限fileserver

user1: read, write, execute
user2: read, (execute?)
user3: read, (execute?)

我希望user2能够user3浏览该文件夹但不能修改其内容,同时user1可以对其执行任何操作。

我尝试过在 上进行挂载sharefileaccess然后/mnt/符号链接到每个人的主目录,但似乎无法在不删除 的权限的情况下user2授予user3只读访问权限。user1

答案1

您可以使用 acl 吗?您可以 man setfacl 了解详情。这允许您指定每个用户或组可以以什么权限访问哪个目录/文件。

如果该命令不存在,您可以从 repos 安装它。除非您的文件系统真的很旧,否则应该支持 acl。但是在某些情况下,您可能必须在挂载时指定 acl 支持。

答案2

假设您可以 chroot 用户,那么您可以多次挂载共享,每个用户的 chroot 中各挂载一次。对于只读用户,使用 挂载共享-o ro。如果无法多次挂载同一个共享,您应该能够使用绑定挂载,但请注意以下讨论的注意事项http://lwn.net/Articles/281157/

答案3

我最终对我想要的文件夹进行了多次挂载,并/mnt/read/获得了适当的权限。/mnt/write/readwrite

我不确定它的效率如何,但它的负载份额不是很高,所以我认为它运行得相当好。

相关内容