Linux下搭建SFTP服务器的命令详解


Posted in Servers onJune 25, 2022

1、创建用户并设置密码

useradd -s /bin/false sftpuser
passwd sftpuser
# 若需要多个sftp用户
新建sftp的用户组:
groupadd sftp
useradd -g sftp -m sftpuser1
useradd -g sftp -m sftpuser2
passwd	sftpuser1
passwd	sftpuser2
usermod -g sftp sftpuser

2、配置ssh和权限

首先关闭SElinux

vim  /etc/sysconfig/selinux

找到并修改这行为
SELINUX=disabled
tips:SELINUX默认是开启的,这样重启sshd会提示权限不够,设置为disabled需要重启生效

3.打开/etc/ssh/sshd_config文件

vi /etc/ssh/sshd_config
# 修改端口
Port 9222
#注释掉下面这行
#Subsystem sftp /usr/libexec/openssh/sftp-server
# Subsystem     sftp    /usr/lib/ssh/sftp-server
Subsystem sftp internal-sftp
Match user  sftpuser
        ChrootDirectory  /data/sftp   #设定属于用户组sftp的用户访问的根文件夹如设置    /data/sftp   作为sftpuser        的sftp根目录
        ForceCommand internal-sftp #指定sftp命令,强制执行内部sftp,并忽略任何    ~/.ssh/rc文件中的命令
        X11Forwarding no   #这两行,如果不希望该用户能使用端口转发的话就加    上,否则删掉
        AllowTcpForwarding no

4.重启网络

#重启sshd
systemctl restart sshd
或
systemctl restart sshd.service
#查询sshd启动状态
systemctl status sshd.service

5、权限赋予

修改sftp-users用户组用户目录权限
因为使用了ChrootDirectory /data/sftp 作为sftpuser的sftp根目录,现在来修改权限
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755
由于/data/sftpuser 是root创建的,权限755,如果sftpuser直接sftp过去是没有权限写入,因此,需要/data/sftp下创建新目录并给与qhlh权限
创建文件夹:

mkdir -p /data/sftp/upload
mkdir -p /data/sftp/download
chown -R sftpuser:users /data/sftp/upload
chmod -R root:root /data/sftp/download
chown -R sftpuser:root upload/

实现需求,同一个账号下载和上传目录分开,且download目录只能读取不能写入,upload可以上传下载。

到此这篇关于Linux下搭建SFTP服务器的文章就介绍到这了,更多相关Linux SFTP服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Nginx的rewrite模块详解
Mar 31 Servers
使用nginx动态转换图片大小生成缩略图
Mar 31 Servers
Nginx 负载均衡是什么以及该如何配置
Mar 31 Servers
nginx处理http请求实现过程解析
Mar 31 Servers
nginx location中多个if里面proxy_pass的方法
Mar 31 Servers
提升Nginx性能的一些建议
Mar 31 Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
Nov 17 Servers
教你使用Jenkins集成Harbor自动发布镜像
Apr 03 Servers
idea下配置tomcat避坑详解
Apr 12 Servers
Linux中一对多配置日志服务器的详细步骤
Jul 23 Servers
Centos7 Shell编程之正则表达式、文本处理工具详解
Aug 05 Servers
Nginx安装配置详解
win sever 2022如何占用操作主机角色
Jun 25 #Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
Windows Server 修改远程桌面端口的实现
Windows server 2012 NTP时间同步的实现
windows server 2016 域环境搭建的方法步骤(图文)
Windows server 2022创建创建林、域树、子域的步骤
You might like
php使用for语句输出三角形的方法
2015/06/09 PHP
php实现的http请求封装示例
2016/11/08 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
js实现数字每三位加逗号的方法
2015/02/05 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
服装电子商务创业计划书
2014/01/30 职场文书
自荐信的格式
2014/03/10 职场文书
学历公证书范本
2014/04/09 职场文书
民生工作实施方案
2014/05/31 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
职称评定个人总结
2015/03/05 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
Nginx内网单机反向代理的实现
2021/11/07 Servers