woff 發表於 2019-12-20 14:54:06

Linux CentOS 7.4 配置sftp服务

服务搭建
CentOS自带 SSH 服务,直接配置即可

SFTP 配置
1.创建用户组 sftp
groupadd sftp

2.创建用户
useradd -g sftp -s /sbin/nologin -d /home/sftp/ftpuser1 ftpuser1

-g 加入到sftp组
-s 禁止登录
-d 指定用户的登入目录

3.设置密码
passwd ftpuser1

4.创建用户ftp文件目录
mkdir /home/sftp/ftpuser1

5.修改文件夹 拥有者
chown -R ftpuser1:sftp /home/sftp/ftpuser1

6.修改ssh的配置文件
修改sshd_config如下:
注释原来的Subsystem设置

#Subsystem sftp /usr/libexec/openssh/sftp-server

启用internal-sftp
Subsystem sftp internal-sftp

限制用户SFTP访问的根目录
限制ftpuser1用户的根目录

Match User ftpuser
ChrootDirectory /home/sftp
ForceCommand    internal-sftp

7.重启SSH服务
systemctl restart sshd

注意事项(坑)
目录的权限设定有两个要点

由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限

修改文件权限
可使用类似一下代码修改目录的访问权限:

chmod -R 544 /home/sftp/ftpuser1
如果FTP傳輸數率為100MB/s
那SFTP傳輸數率要除以3=33MB/s(4核8緒 CPU下測試)
因為SFTP是加密傳輸,所以會取決於CPU的處理能力


參考文章
https://blog.csdn.net/wo541075754/article/details/79474059
頁: [1]
查看完整版本: Linux CentOS 7.4 配置sftp服务