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

(0)

相关推荐

  • 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(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 连接成功了说明没有问题. 二,通过如果是阿里云服务器一定把防火墙和安全组都打开,以免出现其他问题 还有一个防火

  • 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服务器下vsftpd的一些问题

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

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

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

  • 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/sy

  • 在Linux下搭建Git服务器的方法详解

    前言 GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用. 我打算自己搭建git服务器.虽然目前已经有很不错的git工具,如github,coding.net等,但是为了安全,减少限制和开销,还是放在自己的服务器为好.下面给出安装配置的过程,有问题欢迎讨论和交流,我会及时回复的. 第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不

  • 对linux下软件(库)的更新命令详解

    在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区别 pip用来安装来自PyPI(https://www.python.org/)的python所有的依赖包,并且可以选择安装任何在PyPI上已上传的先前版本的依赖包,个人认为是python相关的包和第三方包以及各种版本: apt-get可以用来安装软件.更新源.也可以用来更新自Ubuntu(https://launchpad.ne

  • CentOS下搭建SVN服务器的步骤详解

    本文实例讲述了CentOS下搭建SVN服务器的步骤.分享给大家供大家参考,具体如下: 1.安装svn yum install -y subversion 2.验证安装是否成功 svnserve --version 3.创建svn版本库 mkdir svn svnadmin create svn/repo 注:这里的repo是版本库名称 4.配置svn 创建版本库后,在这个版本库的conf目录下会生成3个配置文件: [root@singledb conf]# pwd /root/svn/repo/

  • Linux下的tar压缩解压缩命令详解(小结)

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的参数是根据需要在压缩或解压档案时可选的. -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名. # tar -cf all.

  • Linux下搭建ftp服务器

    使用RH 系Linux,Debian系请酌情参照 安装ftp所需包 安装ftp包 yum -y install ftp 安装vsftpd包 yum -y install vsftpd 注:配置文件路径   /etc/vsftpd/ 创建ftp用户,并付赋权 创建普通用户(我这里用户名为huoher) useradd huoher 设置该用户只能使用ftp而不能通过ssh或其他协议登录进来 usermod -s /sbin/nologin huoher 由于用户是ftp的,不是正常的登录用户,修改

  • Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis [root@localhost software]# cd redis-5.0.0/ 3.安装:make, (1)若提示:: gcc: Command not found 要安装gcc ,直接命令安装:yum -y install gcc (2)若:提示 fatal error: jemalloc/jemalloc.h: No such file or directo

  • 在linux下升级软件包版本等方法详解

    Linux环境下,要想查看某个软件(package)是否安装. rpm包方式安装的,使用 rpm -qa | grep "软件或者包的名字". yum方式安装的, yum list installed | grep "软件或者包的名字". 升级软件包版本. 我们经常会遇到依赖其他版本包的情况(一般是更新的版本),这时候我们需要升级包. 1.卸载后安装新的包. 首先要根据文首提到的查看软件包是否安装的方式查看你是否安装了这个软件,若没有安装,找到路径后使用wget命令

  • Springcould多模块搭建Eureka服务器端口过程详解

    这篇文章主要介绍了Springcould多模块搭建Eureka服务器端口过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1创建一个普通父maven 在pom修改为因为spring could依赖spring boot所以首先在父maven <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star

  • Linux下Makefile的编写与使用详解

    目录 Makefile Makefile文件命名和规则 Makefile的工作原理 Makefile变量 Makefile函数 Makefile clean规则 Makefile 一个工程文件中的源文件可能有很多,并且不同的功能.模块等都放在不同的目录中,常规的编译已经不能高效化的处理这样的问题,而Makefile就是为解决这一问题而来. Makefile一旦写好,只需一个make指令,即可完成Makefile文件中所编写的所有指令,从而编译整个工程文件,极大的提高了效率. make是一个命令工

随机推荐