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
阿里云Nginx配置https实现域名访问项目(图文教程)
Mar 31 Servers
使用 Apache Dubbo 实现远程通信(微服务架构)
Feb 12 Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 Servers
使用Nginx的访问日志统计PV与UV
May 06 Servers
tomcat下部署jenkins的方法
May 06 Servers
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
May 11 Servers
云服务器部署 Web 项目的实现步骤
Jun 28 Servers
如何让你的Nginx支持分布式追踪详解
Jul 07 Servers
搭建zabbix监控以及邮件报警的超级详细教学
Jul 15 Servers
本地搭建minio文件服务器(使用bat脚本启动)的方法
Jul 15 Servers
解决ubuntu安装软件时,status-code=409报错的问题
Dec 24 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
ext jquery 简单比较
2010/04/07 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
python学生信息管理系统(初级版)
2018/10/17 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
酒店营销策划方案
2014/02/07 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
大课间活动实施方案
2014/03/06 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
学生安全责任书模板
2014/07/25 职场文书
乡镇创先争优活动总结
2014/08/28 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
学生个人总结范文
2015/02/15 职场文书
个人年底工作总结
2015/03/10 职场文书
高三英语教学反思
2016/03/03 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS