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帮助手册

 

 

 

Logo

更多推荐