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

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服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-06-21

Linux编译安装vsftpd服务器(本地用户验证方式)

Linux vsftpd编译安装和配置允许本地用户登录FTP 1.下载vsftpd源码 wget https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz 2.编译vsftpd源码 64位的系统编译之前先要执行cp /lib64/libcap.so.1 /lib/libcap.so.1命令: 复制代码 代码如下: tar xzvf vsftpd-2.3.4.tar.gz cd vsftpd-2.3.4 make make install

Linux配置VSFTP服务器的方法

一.Linux FTP服务器分类: <1>wu-ftp  <2>proftp=profession ftp  <3>vsftp=very security ftp 配置文件: /etc/vsftpd/vsftpd.conf   //主配置文件 /etc/vsftpd.ftpusers      //被禁止登录FTP的用户文件 /etc/vsftpd.user_list     //允许登录FTP的用户文件 二.访问方式 <1>匿名登录  <2>帐

Linux平台通过nginx和vsftpd构建图片服务器

因为开发需要,需要在Linux上构建一个独立的图片服务器,此处默认您已安装好Linux系统.系统环境:CentOs6.5,Vmware10 一.Nginx安装 1.nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ PCRE(PerlCompatible Regular Expressions)是

Linux下使用vsftp搭建FTP服务器(附参数说明)

介绍 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置. 知识点 在linux中使用的FTP是vsftp FTP可以有三种登入方式分别是: 匿名登录方式:不需要用户密码 本地用户登入:使用本地用户和密码登入 虚拟用户方式:也是使用用户和密码登入,但是该用户不是linux中创建的用户 安装FTP 使用YUM安装 yum -y install vsftpd 文件配置 安装完之后在/etc/vsftpd/路径下会存在三个配置文件. vsftpd.conf: 主配置文

关于linux服务器下vsftpd的一些问题

前段时间碰到一位牛B的人物,帮我修正了vsftpd基于PAM认证的问题.今天又碰到N个问题,比如Access denied. 和403错误,无法上传文件等等之类的错误.于是,只好请这个高人再次出马,帮忙再次修正.很感谢这位牛B人物.在利益大于一切的这个X蛋的社会,还能为了咱们这群小菜鸟去分析N个文件..这种精神实在是值得佩服. 针对我自己本身出现的问题,将高人与我的QQ聊天记录整理了一份,然后再加上实际的操作.终于让我大彻大悟.现在与大家狠狠的分享这位高人的成果. 用户上传文件访问出现403或者

Linux(CentOS)上配置 SFTP服务器

相比传统的 ftp 服务,SFTP 显得更加方便.安全,一般系统安装了 ssh 后,默认就安装了这个服务,我们只要简单的配置一下就可以了. 但是 SFTP 账号是基于 SSH 账号的(也就是系统账户),默认情况下访问服务器的权限很大,下面的教程就是教你像 ftp 那样限制 SFTP 账号相关的访问权限. 必要条件: 你的 openssh-server 版本至少得 4.8p1, 因为配置权限需要版本添加的新配置项 ChrootDirectory 来完成. 如何查看自己服务器上的ssh版本?尝试以下

Linux云服务器搭建SFTP服务器图片服务器的操作

首先大家可以先了解一下SFTP和FTP协议的区别,这里我就不赘述了. Sftp 默认监听端口22 Ftp协议默认监听端口21 本质没什么区别都是基于文件传输协议.前者安全性能高,后者效率高. 下面进入正题: 一,确保你的Linux 账号能连接,sftp默认就是Linux root账号密码 这里就是你的管理员账号用户名和密码.一般这个密码Sftp就直接连就行了不用改的都.下面看看Xftp 连接成功了说明没有问题. 二,通过如果是阿里云服务器一定把防火墙和安全组都打开,以免出现其他问题 还有一个防火

详解在阿里云上搭建自己的git服务器

这篇文章我就来介绍一下如何在一台全裸的阿里云主机上搭建自己的git服务器.详细的介绍了每个步骤,具体如下: 1. 安装git 首先安装git,一般而言,现在的服务器已经内置了git安装包,我们只需要执行简单的安装命令即可安装.比如: $ yum install git # centos $ apt-get install git # ubuntu 上面是直接用root登陆服务器进行操作,也是为了演示方便. git和mysql不一样,mysql在安装时,得安装mysql-server,即mysql

Windows下SVN服务器搭建方法整理(apache)

本节和大家谈谈Windows下SVN服务器搭建问题,在这里拿出来和大家分享一下,希望对大家有用. 1,软件下载 Windows下SVN服务器搭建,下载Subversion服务器程序.到官方网站的下载二进制安装文件,来到二进制包下载部分,找到WindowsNT,2000,XPand2003部分,然后选择"thisdirectory",这样我们可以看到许多下载的内容,目前可以下载svn-1.4.0-setup.exe.下载Subversion的Windows客户端TortoiseSVN.T

阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gogs是一款不错git管理系统,而且是国内开源项目,今天我们就使用Gogs基于阿里云Linux CentOS 7 Docker部署搭建自己的git服务器. Gogs介绍(官网):https://gogs.io/ 二.步骤 1.  购买一个阿里云服务器,系统选择Linux CentOS 7 2.  doc

详解Nginx搭建图片服务器过程

在此之前如果你是一个Nginx新手可以先参阅: Windows nginx安装教程及简单实践 linux下安装nginx(图文教程) 本章知识点 效果图: 需求:实现图片的上传和批量上传 技术:Nginx,Vsftpd,Spring,SpringMVC,KindEditor,CentOS 说明:本章节内容主要是实现图片的上传功能.使用 KindEditer 是为了更好的演示图片的上传,回显,批量效果.后台代码与KindEditer没有直接关系,放心阅读.另外源码中有Mybatis的jar,不用理

Docker搭建Nginx图片服务器的方法

前言 一般开发中,都会把图片上传到一个目录,然后将目录和文件名拼接存储在数据库中,但是,这种方法如果没弄好的话可能有一定的缺陷. 若项目搬迁,即时这台服务器本身还在用,存放在服务器的跟项目相关的图片也要跟着搬迁,同时还要修改代码,会造成较多麻烦.如果搭建一个专门存放图片的服务器,而且通过ftp传输,那么你的代码就不用改了. 关于Docker和Nginx的介绍和优点在这里就不展开了,网上博客和教程也有很多. 环境搭建 环境搭建有些模块可能不够详细,如果想知道更多的话可以查看其他资料,这里只是简单操

linux安装部署ftp图片服务器的实现方法

参考Linux中FTP服务器的搭建教程  https://www.jb51.net/article/117779.htm 今天给大家分享linux安装部署ftp图片服务器的教程,感兴趣的朋友一起看看吧! 1.安装http反向代理服务器.安装ftp文件传输组件vsftpd 详细安装及配置参见安装vsftpd.nginx 2.搭建图片服务器环境 2.1 实现的效果 例如,图片通过ftp客户端上传至服务器/home/ftpuser/www/images目录下,我想通过nginx反向代理服务器来访问ft

快云vps主机配置免费vpn服务器的方法(windows/linux)

最近发现有好多的朋友在找免费的vpn帐号,通过免费vpn代理ip,利用vpn翻墙技术去寻找自己想要的东西,临渊羡鱼,不如退而结网,今天快云VPS小编,就分享一下,利用相关的免费vpn代理软件和快云VPS怎么配置自己的免费vpn代理服务器,有了自己的免费vpn代理服务器,建立自己的vpn帐号,就不用在到处去找免费的vpn了,或许你还可以送给你的小伙伴一些免费vpn帐号. 因为快云VPS最低的配置型号-快云VPS基础型都支持安装Windows系统,所以,我们首先需要根据我们个人习惯,或者对Windo

Linux下的SVN服务器搭建步骤

鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始*********/ 系统环境:Centos 6.5 第一步:通过yum命令安装svnserve,命令如下: yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安装位置,可以用以下命令: rpm -ql subversio

Linux下Redis服务器搭建过程

系统环境 操作系统:CentOS 6.9 redis版本:redis-4.0.2安装步骤 1,安装预环境 运行以下命令安装预环境. [root@redis02 redis-4.0.2]# yum -y install gcc make 2,下载redis源代码文件并解压缩 下载完redis源代码后,运行以下命令进行解压缩. [root@redis02 softwares]# tar -xzf redis-4.0.2.tar.gz 3,redis编译 运行make命令进行编译. make命令执行完