Linux搭建sftp

  

1:创建用户组,用户,设置密码

  

groupadd sftp
useradd - g sftp - s/sbin/nologin - m sftp1
passwd sftp1

  

2:创建sftp根目录(根用户下创建)

  

mkdir/home/sftp/uploads
1
3:编辑sftp配置文件

  

vim/etc/ssh/sshd_config
1
末尾添加(注意,添加部分一定要放在末尾,否则重启sshd报错):

  

子系统sftp internal-sftp # #指定使用sftp服务使用系统自带的internal-sftp
匹配组sftp # #匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory/home/sftp/uploads/# # sftp主目录指定到/home/sftp/上传/
ForceCommand internal-sftp # #指定sftp命令
AllowTcpForwarding没有# #用户不能使用端口转发
X11Forwarding没有# #用户不能使用端口转发
癓inux搭建sftp”
可以通过sshd - t测试配置文件是否正确,无任何输入则正确

  

4:设置主目录权限

  

乔恩根:sftp/home/sftp/uploads///文件夹所有者必须为根,用户组可以不是根
chmod 744/home/sftp//权限不能超过755年,否则会导致登录报错,可以是755

  

5:重启sshd

  

systemctl重新启动sshd
1
6:登录sftp (linux/Windows)

  

sftp sftp1@ip地址1

此时,登录进来的用户只有查看主目录及其子目录的权限,不能删除,上,传下载和重命名文件。

  

7:为sftp1创建文件夹

  

mkdir/home/sftp/uploads/test1
乔恩sftp1: sftp/home/sftp/uploads/test1
chmod 744/home/sftp/uploads/test1

  

8:重启sshd
9:登录进入sshd执行ls命令查看当前目录下的文件,可以看到一个test1文件夹,cd进入test1文件夹才可以上传本地文件到test1文件夹下或者从test1文件夹下载文件到本地。(忽略test2文件夹,是我为sftp2用户建立的)

  

将~目录下的文件一个删除到test1文件中:

Linux搭建sftp