admin 管理员组

文章数量: 887021

centos

centos-sftp

  • 说明
  • 操作

说明

centos默认所有用户都可以进行sftp登录
sftp 用户名@ip
不过用户可以随意切换目录

ssh 版本在4.8之后可以通过配置令sftp只能在特定目录下操作,ssh -V 检查ssh版本

操作

  1. 创建sftp组
groupadd sftp

2.创建sftpuser用户,-g指定用户组 -M 不新建家目录,-s /bin/false 不能登录ssh

useradd -g sftp  sftpuser

3.设置密码,这里因为是弱密码因此使用下面这个命令强制修改,正常是passwd 用户名

echo sftpuser | passwd --stdin sftpuser

4.新建目录,-p递归建立文件夹,下面可以不用-p

mkdir -p /sftp/sftpuser

5.建立文件存放目录

cd /sftp/sftpuser
mkdir file
chown sftpuser:sftp file   #更改文件所属为 sftp组,sftpuser用户
chmod 750 file/ 		   #修改文件夹权限为750

6.修改ssh配置文件

vim /etc/ssh/sshd_config

#注释Subsystem sftp /usr/libexec/openssh/sftp-server
#在文件末尾新增

Subsystem sftp internal-sftp
Match User sftpuser   #这个是指定用户名ChrootDirectory /sftp/sftpuser  #这个是指定目录AllowTcpForwarding yes

7.重启ssh服务

systemctl restart sshd.service

之后就可以使用sftp 用户@ip 进行登录了,并且只能在/sftp/sftpuser目录下操作,但是无法使用ssh进行登录,只能使用su命令(暂时没找到资料)

本文标签: centos