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 相关文章推荐
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
Mar 31 Servers
Nginx配置https原理及实现过程详解
Mar 31 Servers
Nginx反向代理及负载均衡如何实现(基于linux)
Mar 31 Servers
Nginx 根据URL带的参数转发的实现
Apr 01 Servers
关于nginx 实现jira反向代理的问题
Sep 25 Servers
nginx中封禁ip和允许内网ip访问的实现示例
Mar 17 Servers
Linux、ubuntu系统下查看显卡型号、显卡信息详解
Apr 07 Servers
idea下配置tomcat避坑详解
Apr 12 Servers
Apache SeaTunnel实现 非CDC数据抽取
May 20 Servers
windows server 2012安装FTP并配置被动模式指定开放端口
Jun 10 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
GPU服务器的多用户配置方法
Jul 07 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 和 MYSQL
2006/10/09 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
调整PHP的性能
2013/10/30 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
php生成无限栏目树
2017/03/16 PHP
php封装一个异常的处理类
2017/06/08 PHP
详解json在php中的应用
2018/09/30 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
基于python监控程序是否关闭
2020/01/14 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
公司年会策划方案
2014/05/17 职场文书
顶岗实习协议书
2015/01/29 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
务工证明怎么写
2015/06/18 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书