1、 创建sftp用户组:groupadd sftp
2、 创建sftp用户:useradd -g sftp -s /bin/false admin
3、 为用户admin设置密码:passwd admin
4、 为用户admin创建专属目录:mkdir -p /data/sftp/admin
5、 设置用户admin登录所在目录:usermod -d /data/sftp/admin admin
6、 编辑 /etc/ssh/sshd_config 文件,进行参数配置
Subsystem sftp internal-sftp
# 在文件末尾添加如下配置:
Match user sftp # 匹配sftp组的用户
AllowTcpForwarding no # 不允许转发TCP协议
X11Forwarding no # 不允许进行 X11 转发
# 使用chroot将用户根目录指定到/data/sftp/%u,%u代表用户名
ChrootDirectory /data/sftp/
ForceCommand internal-sftp # 强制执行内部sftp
7、 设置用户目录权限:
#文件夹所属访问用户和组
chown -R admin:sftp /data/sftp/admin
#文件夹的读写权限
chmod 755 /data/sftp/admin