chroot 用户到 var/www/html

use*_*888 2 centos chroot sftp

我可以限制通过 sftp 登录的用户只能查看和更改 var/www/html 文件夹下的文件吗?

我在下面尝试过,但后来我无法通过 sftp 登录 Transmit

# adduser user_www

# passwd user_www

# vi /etc/ssh/sshd_config

// add in file end
Match User user_www
ChrootDirectory /var/www

# service sshd restart
Run Code Online (Sandbox Code Playgroud)

/var/日志/安全

Jul 13 11:29:23 li390-124 sshd[10269]: Accepted password for user_www from 106.65.234.106 port 19962 ssh2
Jul 13 11:29:23 li390-124 sshd[10269]: pam_unix(sshd:session): session opened for user user_www by (uid=0)
Jul 13 11:29:23 li390-124 sshd[10271]: subsystem request for sftp
Jul 13 11:29:23 li390-124 sshd[10271]: error: subsystem: cannot stat /usr/libexec/openssh/sftp-server: No such file or directory
Jul 13 11:29:23 li390-124 sshd[10271]: subsystem request for sftp failed, subsystem not found
Jul 13 11:29:23 li390-124 sshd[10269]: pam_unix(sshd:session): session closed for user user_www
Run Code Online (Sandbox Code Playgroud)

Ter*_*nen 7

您需要在行ForceCommand internal-sftp后添加Match User user_www

这会强制 OpenSSH 使用其内部sftp实现,而不是尝试执行外部sftp-server命令,该命令无法从 chroot jail 内部访问。