Chroot目录将用户限制到sftp文件夹

Chroot目录将用户限制到sftp文件夹,chroot,Chroot,我当前的工作设置: sshd_配置文件: Subsystem sftp internal-sftp Match group filetransfer2 ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 我运行的Linux命令: addgroup --system filetransfer usermod -G filetransfer use

我当前的工作设置: sshd_配置文件:

Subsystem sftp internal-sftp

Match group filetransfer2
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
我运行的Linux命令:

addgroup --system filetransfer
usermod -G filetransfer username
chown root:root /home/username
chmod 755 /home/username
cd /home/username
mkdir docs public_html
chown username:filetransfer *
用户名被限制在/home/username文件夹中,并且可以很好地工作。 现在我尝试将用户名限制为:
/home/somefolder/public/domain.com/

当我使用
sudo usermod--home username/home/somefolder/public/domain.com/
时,它会在使用sftp登录时更改用户名的默认目录。尽管它拒绝登录。我在使用
/home/somefolder/public/domain.com/
时也尝试了上述所有步骤,但运气不好,它拒绝登录sftp

我必须给一些支持人员我的sftp登录,显然我不想给他们我的根登录详细信息,因此我想把他们限制在domain.com文件夹中

我做错了什么


感谢

为了让chroot像之前一样正常工作,您必须强制root成为目录的所有者,并且该目录中的所有文件/目录可能都归用户所有

为了满足您的工作需求,您需要创建单独的目录树。例如: 对于用户1:/srv/www/User1/ 对于用户2:/srv/www/User2/

在上面的示例中,您将强制root成为/srv/www/user1&/srv/www/user2的所有者,然后分别使两个用户拥有~/user1/*&~/user2/*中的所有内容

这是您之前所做的,但现在如果您需要多个用户使用chroot-jail配置,则需要在强制根目录下提供单独的树

希望这有帮助