在 centos 6.5 上使用 sftp 进行 chroot

在 centos 6.5 上使用 sftp 进行 chroot

我正在尝试让 sftp 在 Centos 6.5 服务器上使用正确的 chroot 配置工作。目前我得到:

sftp [email protected]
[email protected]'s password: 
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer

在 /var/log/messages 中我得到:

Connection from 000.000.000.000 port 52365
Accepted password for User from 000.000.000.000 port 52365 ssh2
User child is on pid 0000
fatal: bad ownership or modes for chroot directory component "/"

/etc/ssh/sshd_config 中的用户部分:

Match User User
        X11Forwarding no
        AllowTcpForwarding no
        ChrootDirectory /sftp/user

/sftp 和 /sftp/user 都设置为 root:root 和 755。据我理解,错误消息表明 chroot 尝试使用“/”作为目录,而不是“/sftp/user”。为什么会这样?我该怎么做才能修复它?感谢您提供任何想法。

答案1

ls -lad /
rwxr-xr-x. 30 509 users 4096 Oct 23 13:56 /

显示 root 属于不存在的用户和用户组。简单的 chown 解决了这个问题。

chown root:root /

相关内容