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对http请求处理的各个阶段详析
Mar 31 Servers
如何利用map实现Nginx允许多个域名跨域
Mar 31 Servers
Nginx如何配置Http、Https、WS、WSS的方法步骤
May 11 Servers
Nginx四层负载均衡的配置指南
Jun 11 Servers
nginx安装以及配置的详细过程记录
Sep 15 Servers
Nginx内网单机反向代理的实现
Nov 07 Servers
Nginx 反向代理解决跨域问题多种情况分析
Jan 18 Servers
详解nginx安装过程并代理下载服务器文件
Feb 12 Servers
Nginx实现会话保持的两种方式
Mar 18 Servers
Minikube搭建Kubernetes集群
Mar 31 Servers
Nginx速查手册及常见问题
Apr 07 Servers
详解Nginx的超时keeplive_timeout配置步骤
May 25 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性能优化注意点
2016/01/04 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
Python设计模式之代理模式简单示例
2018/01/09 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
python3中eval函数用法使用简介
2019/08/02 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
大学生写自荐信的技巧
2014/01/08 职场文书
大专学生求职信
2014/07/04 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
培训班开班主持词
2015/07/02 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers