Linux 搭建 SFTP 服务器

 

 

以下教程将在Linux服务器上创建

1. 一个用户组,名叫:sftp

2. 在sftp用户组下创建一个名叫mysftp的用户,密码为mysftp

3. sftp用户上传的文件将存储在 /data/sftp/mysftp 

以下步骤均使用root用户操作

 

1. 创建用户组,用户

groupadd sftp
useradd -g sftp mysftp
passwd mysftp

 

2. 创建文件目录,并修改权限

mkdir -p /data/mysftp/upload
chown -R root.sftpg /data/mysftp
chown -R seenisftp.sftpg /data/mysftp/image

文件的权限很重要,这里要确认件事: /data/mysftp 目录的所有者必须为root, 这一点是由SFTP 的 CHROOT 操作决定的。ChrootDirectory所指向的文件夹,属主必须是root,属组是sftp用户所属的用户组。并且ChrootDirectory所指向的文件夹到系统根路径上的所有途径文件夹,属主都必须是root,且权限不允许有群组用户写入权限,即权限最高只能是755,否则是sftp是无法正确访问的。

 

3.修改sshd配置文件

/etc/ssh/sshd_config 文件末尾,添加

Match Group sftp
ChrootDirectory /data/%u
ForceCommand internal-sftp

 

4.重启sshd服务器

systemctl restart sshd

 

搭建过程完毕。尝试用sftp客户端登录一下吧。

 

posted @ 2022-10-29 15:29  刀客八号  阅读(1279)  评论(1编辑  收藏  举报