我有一个服务器fileserver
。文件服务器有一个名为share
.
我有三个用户需要share
通过远程计算机进行 ssh/sftp 访问fileaccess
:user1
、user2
和user3
。
我将如何设置它以便通过登录fileaccess
以下权限将处于活动状态,而无需修改文件权限fileserver
?
user1: read, write, execute
user2: read, (execute?)
user3: read, (execute?)
我希望user2
并且user3
能够浏览该文件夹但根本不修改其内容,同时user1
能够对它做任何他们想做的事情。
我已经尝试安装share
在fileaccess
in/mnt/
然后符号链接到每个人的主目录,但我似乎无法在不删除的权限的情况下授予user2
和user3
只读访问user1
权限。
你可以使用 acl 吗?你可以 man setfacl 了解详情。这允许您指定每个用户或组可以使用什么权限访问哪个目录/文件。
如果该命令不存在,您可以从存储库安装它。除非你的文件系统真的很旧,否则应该支持 acl。但是在某些情况下,您可能必须在安装时指定 acl 支持。
假设您可以 chroot 用户,那么您可以多次挂载共享,一次在每个用户的 chroot 中。对于只读用户,使用 挂载共享
-o ro
。如果无法多次挂载相同的共享,您应该能够使用绑定挂载,但要注意在http://lwn.net/Articles/281157/中讨论的警告我最终在具有适当权限的情况下对我想要的文件夹进行了多次安装
/mnt/read/
。/mnt/write/
read
write
我不确定它的效率如何,但它不是一个非常高负载的共享,所以我认为它工作得很好。