• 搭建过程

    1. 安装 vsftp 服务(yum 安装即可)
    2. 配置/etc/vsftpd/vsftpd.conf
      1.  
      2. anonymous_enable=NO #禁止匿名登录
      3. local_enable=YES #允许本地用户登录,注意虚拟用户也是映射本地用户登录的
      4. chroot_local_user=YES #是否将用户禁锢在主目录,一般配合 chroot_list_file和 chroot_list_enable 一起使用。
      5. local_root=/var/ftp #本地用户 ftp 根目录
      6. local_umask=022 #ftp 本地用户创建文件的权限掩码)
      7. xferlog_enable=YES #开启日志记录)
      8. xferlog_std_format=YES #使用标准 ftp 日志格式
      9. pasv_enable=YES #(开启被动模式)
      10. pasv_addr_resolve=YES
      11. pasv_address=58.251.160.178
      12. #以上两行支持被动模式 iptables 的 nat 端口映射,欺骗客户端 ftp 服务器地址为 nat 转换后的地址
      13. #只需在连接外网时使用
      14. pasv_min_port=10001
      15. pasv_max_port=10010
      16. #被动模式端口范围
      17. listen=YES
      18. pam_service_name=vsftpd_login #指定 Vsftpd 的 pam 验证配置文件名
      19. user_config_dir=/etc/vsftpd/users_config #指定虚拟用户配置文件路径
      20. guest_enable=YES #启用虚拟用户
      21. guest_username=vftp #指定虚拟用户本地宿主用户
      22.  
    3. 新建虚拟用户本地宿主用户
      1.  
      2. useradd vftp –d /home/vsftp –s /sbin/nologin #宿主用户不用登陆系统的权限
    4. 虚拟用户名单
      1. 先建立虚拟用户名单文件 vi /etc/vsftpd/vsftpdlogin
      2. 添加用户(可编辑多个虚拟用户,奇数行账号,偶数行密码)
        1.  
        2. xdataftp
        3. xdataftp
        4. xbusftp
        5. xbusftp
        6.  
    5. 生成口令库文件,注意修改文件权限为 600

db_load -T -t hash -f /etc/vsftpd/vsftpdlogin /etc/vsftpd/vsftpdlogin.db chmod 600 /etc/vsftpd/vsftpdlogin.db

      • 注意:如果 db_load 命令不可用,需要安装 db4-utils 软件包。
    1. 新建虚拟用户 pam 验证文件,是在 vsftpd.conf 中所需指定的验证文件
      • 编辑/etc/pam.d/ vsftpd_login(db 文件时上面生成的 vsftpdlogin.db)

        1.  
        2. auth required pam_userdb.so db=/etc/vsftpd/vsftpdlogin
        3. account required pam_userdb.so db=/etc/vsftpd/vsftpdlogin
        4.  
    2. 建立虚拟用户配置文件
      1. mkdir /etc/vsftpd/users_config #这个为vsftpd.conf中user_config_dir指定的
      2. 编辑/etc/vsftpd/users_config/xdataftp
        1.  
        2. local_root=/data/ftp/xdataftp (指定此虚拟用户的根目录)
        3. write_enable=YES #本地权限 可注释
        4. download_enable=YES #本地权限 可注释
        5. anon_world_readable_only=NO
        6. anon_upload_enable=YES
        7. anon_mkdir_write_enable=YES
        8. anon_other_write_enable=YES
        9.  
      3. 注意:以上是开放此虚拟用户所有权限。包括读、写、删除、更改、替换。可以根据相应的需求更改。
    3. 重启服务 service vsftpd restart
    4. 安装flashFTP客户端登录验证
    5. 注意:
      1. 配置文件不能有多余空格,否则会导致 ftp 登录或者数据传输失败。
      2. 如果 ftp 服务器本地有防火墙,需要开放 21、20 和被动模式指定的 10001—10010 端口,并关闭机器 selinux。
      3. iptables 的 nat 端口映射,让外网客户端访问内网 ftp 服务
        1.  
        2. -A PREROUTING -d 58.251.160.178/32 -p tcp -m tcp --dport 40021 -j DNAT --todestination 172.16.100.4:21
        3. -A PREROUTING -d 58.251.160.178/32 -p tcp -m tcp --dport 10001:10010 -j DNAT --to-destination 172.16.100.4
        4.  
      4. autofs卸载后需要reboot

ftp服务器端的安装及配置的更多相关文章

  1. FTP服务器的安装和配置

    FTP服务器的安装和配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本来是想出一个源码安装ftp的教程,但是想想还是算了,如果你自学python有个10天的话你自己就能写一个f ...

  2. SVN服务器端的安装和配置

    第2章 SVN 的下载与安装 服务器端的安装和配置 所有的开发人员用自己的账号登录进来就可以拥有对仓库里面的所有文件的读和写的权限 创建用户

  3. ubuntu16.04下ftp服务器的安装与配置

    由于要将本地程序上传至云服务器中,所以需要给云服务器端安装ftp服务器.记录一下ftp的安装过程,以便以后使用.服务器端所用系统为Ubuntu16.04. 1. 安装ftp服务器, apt-get i ...

  4. Linux环境下SVN服务器端的安装与配置

    最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...

  5. linux系统下FTP服务器的安装和配置

    FTP是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.简单地说,支持FTP协议的服务器就是FTP服务器. PORT模式: 首先客户端开启一个非特权端口N(大 ...

  6. FTP服务器的安装与配置

    查看是否安装ftp: rpm -qa |grep vsftpd 1.安装vsftp 1.1.安装vsftp,测试安装的vsftpd的版本是:vsftpd.x86_64 0:3.0.2-11.el7_2 ...

  7. 阿里云Centos 7 FTP(vsftp)服务安装及配置

    #检查vsftpd是否安装 rpm -qa | grep vsftpd #检查vsftpd版本并安装 yum list vsftpd yum install vsftpd #设置开机启动 system ...

  8. Linux学习总结(21)——CentOS7环境下FTP服务器的安装和配置

    1. 安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsf ...

  9. [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...

随机推荐

  1. hibernate4 spring3.2 事务不提交分析

    最近在做微信项目,我搭建了一个基于servlet,spring3.2,hibernate4.1的框架.因为基于消息的servlet和基于业务层是分开做的,也就是先把业务层做了,再去将所有的请求转到业务 ...

  2. POJ 3900 The Robbery

    大意:和背包的问题相似,第 i 个箱子有 i 颗钻石.钻石的重量,价值给出.然后再M的重量下背尽量多价值的钻石. 思路:直接暴搜然后剪枝.因为数据范围的原因无法用DP. #include <cs ...

  3. 16Khz音频定时触发采样DMA存储过程

    一.AD Setting 1.Calibration (ADCAL) 2.设定ADC Chennel与SCANDIR等,在低功耗应用方案,选择PCLK/4,并设置SMP(tCONV = Samplin ...

  4. 基于内容的图片检索CBIR(Content Based Image Retrieval)简介

    传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,简称“以字找图”,既耗时又主观多义.基于内容的图像检索客服“以字找图”方式的 ...

  5. 汇编条件判断整理(JCC,CMP/TEST的实现)

    比较的实现 我们知道CMP是比较两个寄存器内容的指令,但这是如何实现的? 当执行到CMP指令的时候会读取这两个寄存器的内容,并加以减法运算,结果本身不保留,并按照结果设置符号位(属算术运算). CMP ...

  6. ClassLoader的类结构分析

    摘自深入分析java web技术内幕

  7. ASP.NET Zero--9.一个例子(2)商品分类管理-列表

    1.创建实体类 参考:http://www.cnblogs.com/farb/p/4923137.html 在Core(领域层)项目下新建一个目录Entities,在此目录下新建一个Category类 ...

  8. 利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖

    摇一摇JS脚本逻辑:接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下: if (win ...

  9. unity 内置的CG结构解析

    一.Cg顶点程序必须在结构中传递顶点数据.几种常用的顶点结构定义在文件UnityCG.cginc中.在大部分情况下仅仅使用它们就够了.结构如下: 1.appdata_base: 包含顶点位置,法线和一 ...

  10. Docker集群实验环境布署--swarm【1 架构说明】

    在读完<Docker技术入门与实践>这本书后,基本上已对Docker了有一些入门的理解,以及我们为什么要使用Docker 答:我们发现在实际工作中,通过openstack一旦把一个VM创建 ...