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客户端登录一下吧。