最近业务需求搞了一下sftp,配合samba感觉还是不错的。

上干货:笔者的环境是centos7.4

1、建立一个名为sftpuserssftp用户组

groupadd sftpusers


2、建立sftp账号(使用-s /bin/false来禁止sftpeb这个账户ssh登录权限)

useradd -s /bin/false -g sftpusers sftp

3、修改sftp密码

passwd sftp    #之后输入两次密码成功即可

4、配置ssh和权限;修改为下面内容,保存退出。

UsePAM yes      #UsePAM改成yes

#注释掉这行
#Subsystem sftp /usr/libexec/openssh/sftp-server
#添加在配置文件末尾
Subsystem sftp internal-sftp #指定使用sftp服务使用系统自带的internal-sftp
Match Group sftpusers #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory %h #用chroot指定sftp账户登录的默认根目录
ForceCommand internal-sftp #强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令
X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no

5、修改 /home/sftpeb/目录权限为root所有

chown root:root /home/sftpeb
chmod 755 /home/sftpeb

6、此时sftp用户登录后并不能上传文件,那是因为登录后默认是用户目录,比如/home/sftpeb,但是该目录是root用户拥有,因此我们还要修改权限。在用户目录下建立子目录,让sftpusers组中的用户可读写文件。

cd /home/sftpeb/
mkdir upload

7、授权upload文件夹读写 ,让子文件夹upload属于sftp

chown -R sftpeb /home/sftpeb/upload
chmod 755 -R /home/sftpeb/upload

8、检查系统selinux是否关闭,如未关闭一定要关闭!(这点很重要,如果不关闭会导致无法上传,出现权限不足问题“Permission denied“)

vim /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled
#getenforce检查,为“Disabled”即表示已关闭selinux

9、重启ssh服务,测试是否可用,测试命令如下

#登录
sftp sftpeb@192.168.2.33
#上传
put /tmp/test.txt
#下载
cd upload
get test.txt

10、如果在windows端登录的话,用sftp工具登录即可,如xftp

开启linux下面vsftp自身的服务的更多相关文章

  1. linux下开启、关闭、重启mysql服务

    linux下开启.关闭.重启mysql服务命令 一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql ...

  2. Linux系统配置VSFTP软件详解

    Linux系统配置VSFTP软件详解 出处 http://www.sudu.cn/service/detail.php?id=11656 vsftpd.conf 是vsftpd的配置文件,用来控制vs ...

  3. Linux系统Vsftp 传文件出现 553 Could Not Create File错误的解决方法

    解决方法: 登录出现了这个错误提示:553 Could not create file SELinux设置如下 查看SELinux设置 [root@localhost ~]# getsebool -a ...

  4. Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务

    一.引言 今天本来没有打算写这篇文章,当初我感觉使用这个工具应该很简单,下载的过程也不复杂,也没有打算记录下来.但是在使用的过程中还是出现了一些问题,为了给第一次使用Redis Desktop Man ...

  5. linux上部署rmi+memcache服务

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/50020437 最近在学习linux上搭建Rmi+Memca ...

  6. Linux启动流程和脚本服务-6

    授课笔记:----------------------------------- linux系统启动流程:一.初始化阶段:1.grub引导界面2.识别硬件3.初始化驱动 二.加载/etc/rc.d/r ...

  7. 多个Linux发行版安装ss服务端

    本文仅做技术探讨,请在遵守相应的法律法规的前提下使用. Centos 7一键安装脚本 简单快捷,随机生成密码,默认端口默认加密类型 bash <(curl -s http://morning.w ...

  8. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  9. Vsftp的PASV mode(被动模式传送)和Port模式及 Linux下VsFTP配置全方案

    什么叫做PASV mode(被动模式传送)?他是如何工作的? FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接.FTP服务程序一般会支持两种不同的模式,一种是Po ...

随机推荐

  1. 万能媒体播放器 PotPlayer

    推荐一款超级牛逼播放器:PotPlayer

  2. C++标准库的初探

    1,操作符 << 的原生意义是按位左移,例: 1 << 2; 其底层的意义是将整数 1 按位左移 2 位,即: 0000 0001  ==> 0000 0100: 2,重 ...

  3. python删除某一行

    整理了网络上的一些方法,一般有两种方法:第一种:是先把文件读入内存,在内存中修改后再写入源文件. 例子:将内容包含“123”的所有行删去: with open('C:/Users/lai/Deskto ...

  4. SpringMVC学习(10):异常处理

    在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的.那么如何保证我们处理异常的代码精简且便于维护呢?这就是本篇要讲的内容->异 ...

  5. AtCoder Beginner Contest 131 F - Must Be Rectangular!

    题意:给出二维平面的n个点坐标,定义一种操作:若恰好三个点能形成一个矩形(当然这个矩形会缺了一个点),那么就在图上添加这个缺的点,问在原图上最多能进行几次这样的操作. 解法:这题想了挺久没想到,一看题 ...

  6. 进程启动到别的session下(作用)

    https://blog.csdn.net/lostwifi/article/details/76472868 WTSGetActiveConsoleSessionId WTSEnumerateSes ...

  7. 一次CTS引发的网络故障

    接到业务部门通知,A机房(库a)到B机房(库b)之间的数据库服务器之间的网络带宽异常突增,影响公司对外业务的整体带宽.一接到通知,作为数据库管理对所涉及的IP还是比较敏感.第一反应就是可能当时主库产生 ...

  8. 转载 jQuery实现放大镜特效

    效果图. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  9. python 数组元素个数

    list=[1,2,3,{1,4,5,6,7}] print(len(list)) 输出4

  10. malloc,free实验

    #include <stdio.h> #include <stdlib.h> int main() { char a = 0; //int * p = (int * ) mal ...