我有一个 centos vps,我在其中创建了一个带密码的新用户。 每当我通过 ssh 登录时,它都会进入 /home/username。我只需要限制对 /home/username 及其子文件夹的访问。现在我可以读取任何父文件夹,如 root、var 等。我怎样才能实现它。
答案 0 :(得分:0)
如果您想直接使用 ssh,那么您需要在用户目录中创建一个 bin 目录,其中包含您要提供给用户的命令(当然还有 bash)并使用fakechroot 到 chroot 进入用户目录。您可以复制 bin 目录或仅创建符号链接。
例如像这样创建符号链接
cd /home/username
mkdir usr
ln -sf /bin/ bin
ln -sf /usr/bin usr/bin
然后添加到/etc/ssh/sshd_config
这行
Match User username
ForceCommand fakechroot chroot /home/username
如果 sftp 对你来说足够了,那么你可以把这行添加到 /etc/ssh/sshd_config
Match group sftp
ForceCommand internal-sftp
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no