我运营一个游戏服务器,我想让几个人访问服务器以帮助开发。我试图让他们只能访问这些目录
/var/www/Update
/root/gamed/config
每个用户将被放置在一个名为的组下,devs
其主目录位于/home/username
并且sshd_config
我有该组的以下内容
Match group devs
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
我尝试创建一个到的符号链接/var/www/Update
,但是当我以该组下的用户身份登录时,devs
它不起作用。
答案1
您可以尝试将该文件夹作为 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