• 搭建过程

    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. Linux CPU affinity

    在Linux中,我们知道可以通过nice.renice命令改变进程的执行优先级,优先级高的进程优先执行,从而一定程度上保证重要任务的运行. 除了nice.renice外,可以通过CPU  affini ...

  2. while循环的基本用法

    while是常用的循环结构之一 1.格式: while(条件){ } 2.基本知识点 1)puts(“字符串”).换行输出一个字符串 2)死循环.. while(1){ } 代码如下:

  3. 内存错误:CRT detected that the application wrote to memory after end of heap buffer

    今天调试测试代码时,发现在用完了new出来的内存buf后,在执行delete时报错了,具体信息为: HEAP_CORRUPTION_DETECTED: after Normal block(#908) ...

  4. Android RecyclerView完全解析

    RecyclerView完全解析 (一) 前言 话说RecyclerView已经面市很久,也在很多应用中得到广泛的使用,在整个开发者圈子里面也拥有很不错的口碑,那说明RecyclerView拥有比Li ...

  5. Java开发工具箱-JDK的安装与配置

    一.JDK.JRE 术语名 缩写 解释 Java Development Kit JDK Java程序员用的工具包 Java Runtime Enviroment JRE Java程序的运行环境 二. ...

  6. 1 Selenium打开浏览器

    [环境] Selenium3.0.1+Python3.6+unittest win7+IE10 1.打开FireFox浏览器 import unittest from selenium import ...

  7. js判断获取浏览器关闭状态

    如题,js获取浏览器关闭状态,可实现判断选择是否关闭. <html> <head> <title> </title> </head> < ...

  8. 查增删改MySQL数据库固定模式

    省略相关包的导入... public class Base { public static Connection connection = null; public static PreparedSt ...

  9. 微软sqlHelper

    //微软的SQLHelper类(含完整中文注释) using System; using System.Data; using System.Xml; using System.Data.SqlCli ...

  10. 又遇Release编译的一坑 -- 应用程序正常初始化(0xc000007b)失败。请单击“确定”,终止应用程序。

    项目中使用了xlslib库,以动态库形式编译,由于它没有生成链接库lib文件,所以官方提供的demo中有createDLL这个小程序用来生成lib文件.然而我又 no zuo no die了一次.   ...