sftp配置用户上传和下载很容易,但是当需要限制登录用户只能访问指定目录时,则需要注意几点
1.步骤
安装sshd,一般服务器都自带,如果没有安装也可以yum或者apt-ge安装
2.配置sshd
编辑/etc/ssh/sshd_config文件(一般放置在此处)
在sshd_config文件中添加如下几行
Subsystem sftp internal-sftp
Match Group sftp #这里是配置用户组,也可以只配置用户(Match User xxxx)
ChrootDirectory /data/sftp/ #这里配置只能访问的指定目录
ForceCommand internal-sftp
3.创建目录 /data/sftp
注意,注意,注意,重要的事件说三遍
/data/sftp 的所属组和所属主都必须是root (包括data和sftp),且权限是755权限,不能是777权限
4.创建用户组和用户
groupadd sftp
useradd -s /bin/nologin -d /data/sftp -g sftp mysftp
echo "123456" | passwd --stdin mysftp
4.在/data/sftp目录下创建用户上传和下载目录
例如: mkdir upload
这个目录的所属主和所属组可以不是root
5.重启sshd
systemctl restart sshd
以上配置过程本人亲自测试并验证过,如有其他要补充的,请留言,至于原理可以翻阅sshd帮助手册