为什么可以用这个 sftp 配置离开 CHROOT?

为什么可以用这个 sftp 配置离开 CHROOT?

我正在尝试创建用户 lenny,该用户在文件夹中拥有读写权限/home/lenny/,并且没有 shell,只能通过 SFTP 访问。我正在执行以下操作:

useradd lenny
mkdir /home/lenny
usermod -d /home/lenny lenny
passwd lenny
chown lenny:lenny /home/lenny
chmod 755 /home/lenny
usermod -s /bin/false myuser

然后我修改了/etc/ssh/sshd_config

Subsystem sftp internal-sftp`  

Match User lenny
ChrootDirectory /home/lenny
ForceCommand internal-sftp

现在,当我这样做时,我可以通过执行和sftp lenny@server轻松离开 CHROOT ,我看到了一切!cd /ls -la

这是为什么???我不明白,配置应该没问题,还是我错了?

答案1

更改后是否重新启动 sshd 服务/etc/ssh/sshd_config

sudo /etc/init.d/ssh restart

确保 sftp 用户(在本例中/home/lenny)的 chroot 目录由 root 而不是 sftp 用户拥有。chmod 755是正确的。

另外,我会添加以下两行以提高安全性:

Match User lenny
    ChrootDirectory /home/lenny
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

重新启动您的 sshd 服务,您应该拥有所需的 chroot。

相关内容