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网站服务如何配置防盗链(推荐)
Mar 31 Servers
扩展多台相同的Web服务器
Apr 01 Servers
nginx配置文件使用环境变量的操作方法
Jun 02 Servers
Nginx内网单机反向代理的实现
Nov 07 Servers
使用 Apache 反向代理的设置技巧
Jan 18 Servers
使用 Apache Dubbo 实现远程通信(微服务架构)
Feb 12 Servers
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
Apr 29 Servers
Nginx的gzip相关介绍
May 11 Servers
Nginx本地配置SSL访问的实例教程
May 30 Servers
linux目录管理方法介绍
Jun 01 Servers
windows server 2012安装FTP并配置被动模式指定开放端口
Jun 10 Servers
Nginx安装配置详解
Jun 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 截取utf-8格式的字符串实例代码
2016/10/30 PHP
php实现留言板功能
2017/03/05 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
Django框架视图介绍与使用详解
2019/07/18 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
python3下pygame如何实现显示中文
2020/01/11 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
惠普香港官方商店:HP香港
2019/04/30 全球购物
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
shell变量的作用空间是什么
2013/08/17 面试题
超市实习总结自我鉴定
2013/09/19 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
条幅标语大全
2014/06/20 职场文书
债务纠纷起诉书
2015/05/20 职场文书
保护环境的宣传语
2015/07/13 职场文书
php 原生分页
2021/04/01 PHP
用Python提取PDF表格的方法
2021/04/11 Python
mysql的数据压缩性能对比详情
2021/11/07 MySQL