服务搭建
CentOS自带 SSH 服务,直接配置即可
SFTP 配置
1.创建用户组 sftp
groupadd sftp• 1
2.创建用户
useradd -g sftp -s /sbin/nologin -d /home/sftp/ftpuser1 ftpuser1• 1
-g 加入到sftp组
-s 禁止登录
-d 指定用户的登入目录
3.设置密码
passwd ftpuser1• 1
4.创建用户ftp文件目录
mkdir /home/sftp/ftpuser1• 1
5.修改文件夹 拥有者
chown -R ftpuser1:sftp /home/sftp/ftpuser1• 1
6.修改ssh的配置文件
修改sshd_config如下:
注释原来的Subsystem设置
#Subsystem sftp /usr/libexec/openssh/sftp-server• 1
启用internal-sftp
Subsystem sftp internal-sftp
限制用户SFTP访问的根目录
限制ftpuser1用户的根目录
Match User ftpuser ChrootDirectory /home/sftp ForceCommand internal-sftp• 1 • 2 • 3
7.重启SSH服务
systemctl restart sshd• 1
注意事项(坑)
目录的权限设定有两个要点
由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限
修改文件权限
可使用类似一下代码修改目录的访问权限:
chmod -R 544 /home/sftp/ftpuser1