SFTP限制用户只有几个目录

我运行一个游戏服务器,并且我也有一些人也想让服务器访问来帮助开发。 我试图让他们只能访问这些目录

/var/www/Update /root/gamed/config 

每个用户将被放置在一个名为devs的组中,主目录位于/home/username ,在sshd_config我对该组有以下

 Match group devs ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no 

我试图创build一个符号链接到/var/www/Update ,但是当我作为devs组下的用户login时,它不起作用。

您可以尝试在用户的主目录中将文件夹挂载为BIND。

对于用户foo:

 # mkdir -p /home/foo/Update /home/foo/GameConfig # mount --bind /var/www/Update/ /home/foo/Update # mount --bind /root/gamed/config /home/foo/GameConfig 

而在你的/ etc / fstab中,你可以添加

 /var/www/Update /home/foo/Update bind defaults,bind 0 0 /root/gamed/config /home/foo/GameConfig bind defaults,bind 0 0 

在启动时进行安装。

这些应该比符号链接更灵活,特别是使用chroot时。 只要确保你有秩序的权限。 当然,你需要为每个用户做一次这样的事情。

参考文献:

http://docs.1h.com/Bind_mounts

https://fermilinux.fnal.gov/documentation/tips/mount-bind-chroot