linux 搭建sftp服务器
作者:互联网
1.创建sftp用户组
groupadd sftp
2.创建sftp用户并加入到sftp用户组
useradd -g sftp sftp
修改sftp用户密码
passwd sftp
3.创建/data/sftp/目录,并将它指定为sftp组用户的home目录
mkdir -p /data/sftp
usermod -d /data/sftp sftp
4.修改ssh 配置文件/etc/ssh/sshd_config
将如下这行注释掉
Subsystem sftp /usr/libexec/openssh/sftp-server
添加 以下几行
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/ 设置用户上传文件的根目录
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no (修改原有的 yes为no 不起用转发代理)
注意:
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root,即/data及子目录/data/sftp/ 属主和属组必须是root
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755
5.设置Chroot目录权限
chown root:root /data/sftp/
chmod 755 /data/sftp/
6.新建一个目录供sftp用户上传文件,这个目录属主属组为sftp,所有者有写入权限所有组无写入权限(即权限为755)
mkdir /data/sftp/upload
chown sftp:sftp /data/sftp/upload
chmod 755 /data/sftp/upload
7.重启sshd服务测试
8.在linux其他服务器上进行验证,sftp 用户名@ip地址
sftp sftp@172.16.68.168
get 下载文件 put 上传文件 需进入到upload目录下执行put/get 上传下载
9.在windows 利用Winscp或者File zilla 测试
主机地址: 172.16.68.168 端口 22
用户名: sftp
密码: sftp用户密码
标签:755,upload,sftp,linux,服务器,权限,data,目录 来源: https://www.cnblogs.com/xiaoqi-home/p/16211283.html