• 搭建过程

    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. php中empty和isset的区别

    比如: $_POST[ 'test']= ' ';那么: isset($_POST[ 'test']) ===> true; empty($_POST[ 'test']) ===> tru ...

  2. 常用PHP正则表达式

    获取所有图片网址preg_match_all(“/ src=(\”|\’){0,}(http:\/\/(.+?))(\”|\’|\s|>)/is”,$text,$img); 匹配中文字符的正则表 ...

  3. Haskell 笔记(三)类型系统

    类型 (Type) Haskell的类型系统式静态类型系统,在编译的时候就知道数据类型,所以不同类型的值运算在编译的时候就会报错,比如用布尔值和整数运算,在C语言中这种运算就不会报错. Haskell ...

  4. Android 关于在Activity中监听ListView

    Android 开发时,最常用的控件之一就是ListView了,而使用ListView的同时,必然需要对它设置监听器,常用的监听器有这么几个: 1. OnItemClickListener // 监听 ...

  5. 用ajax对数据进行查看人员信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 根据字节码探讨java自增运算符的原理

    public class Test { static int x, y; public static void main(String args[]) { x++; myMethod(); Syste ...

  7. linux服务器开发二(系统编程)--线程相关

    线程概念 什么是线程 LWP:Light Weight Process,轻量级的进程,本质仍是进程(在Linux环境下). 进程:独立地址空间,拥有PCB. 线程:也有PCB,但没有独立的地址空间(共 ...

  8. 【.NET】SQL链接字符串

    第一种:OLE DB或OleDbConnection (.NET)方式 (使用SQL Server的Microsoft OLE DB提供程序)Provider=sqloledb; Data Sourc ...

  9. tab切换☆☆☆☆☆

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  10. 微信小程序-video详解

    在小程序火热的今天,作为IT行业的一员,我也来凑了一下热闹,话不多说了,接下来看看视频上传,和跨页面获取值的相关案例吧!! 视频上传部分代码: 视频播放 随机颜色的产生: 颜色页面的选择: