我可以限制通过 sftp 登录的用户只能查看和更改 var/www/html 文件夹下的文件吗?
我尝试了以下方法,但无法通过 sftp 登录传输
# 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
/var/log/安全
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
答案1
您需要在行ForceCommand internal-sftp
后添加Match User user_www
。
这会强制 OpenSSH 使用其内部sftp
实现,而不是尝试执行sftp-server
无法从 chroot jail 内部访问的外部命令。