1、创建目录
以/data/ftp这个目录为例
先创建一个sftp组
groupadd ftpusers
创建ftpuser用户,要指定用户不能登录系统/sbin/nologin
useradd -g ftpusers -d /data/ftp -s /sbin/nologin ftpuser
给ftpuser设置密码
将第一步创建的目录所有者改成这个root,ssh的chroot要求用户的home目录和上级目录的所有者必须是root,所以这里/data/和/data/ftp的所有者必须都是root,否则会出现类似这样的错误:
sshd[5515]: fatal: bad ownership or modes for chroot directory “/data/ftp” [postauth]
chown root:root /data
chown root:root /data/ftp
chmod 775 /data/ftp
3、配置ssh
# 修改/etc/ssh/sshd_config
# 添加下面的内容到文件的最后,一定要放在最后面
# 下面的配置是针对ftpusers组中的用户有效
Subsystem sftp internal-sftp
Match Group ftpusers
ChrootDirectory /data/ftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
如果配置文件中有这样的行“Subsystem sftp /usr/libexec/openssh/sftp-server”就注释掉,
最后重启sshd服务
4、上传