一、安装
    1. 查看是否安装vsftpd
        rpm -qa | grep vsftpd
    2. 安装 
        yum -y install vsftpd
    3. 设置开机启用
        ckconfig vsftpd on
 
二、配置vsftpd
    打开vsftpd配置文件
    # vi /etc/vsftpd/vftpd.conf
 
    #设定不允许匿名访问 
    anonymous_enable=NO
    #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    #记录上传下载文件的日志
    xferlog_enable=YES
    connect_from_port_20=YES
    chown_uploads=YES
    chown_username=ftp
    #日志记录文件位置
    xferlog_file=/var/log/vsftpd.log
    #格式化日志
    xferlog_std_format=YES
    #设定支持ASCII模式的上传和下载功能
    ascii_upload_enable=YES
    ascii_download_enable=YES
 
    //使用户不能离开主目录 
    chroot_list_enable=YES
    #chroot_list_file=/etc/vsftpd/chroot_list 
 
    ls_recurse_enable=YES
    #监听IPv4 sockets
    listen=YES
    #注释IPv6 sockets监听
    #listen_ipv6=YES
 
    #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 //已下三个请在配置文件中手动添加 
    pam_service_name=vsftpd 
 
    userlist_enable=YES
    userlist_deny=YES
    #/etc/vsftpd/user_list中的用户禁止登录ftp
    #如果只配置userlist_enable=YES,有可能出现错误 “530 Permission denied”,因此加上如下配置
    userlist_file=/etc/vsftpd/user_list
    tcp_wrappers=YES
 
    #设定启用虚拟用户功能 
    guest_enable=YES 
    //指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 
    guest_username=ftp 
    #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
    user_config_dir=/etc/vsftpd/vuser_conf 
 
    pasv_min_port=61001        (被动模式开放端口)
    pasv_max_port=62000
 
    #文件上传下载权限设置
    allow_writeable_chroot=YES
    anon_umask=022
    file_open_mode=777
 
    #虚拟用户和本地用户有相同的权限
    virtual_use_local_privs=YES
 
 
三、创建chroot list,将vftpd.conf配置文件中的guest_username加入其中:
    # touch /etc/vsftpd/chroot_list
    # echo ftp >> /etc/vsftpd/chroot_list
 
四、创建用户密码文件
    # touch /etc/vsftpd/vuser_passwd.txt
    ##注意奇行是用户名,偶行是密码
    test
    111222
 
五、生成虚拟用户认证的db文件
    如果没有db4需要先进行安装。安装Berkeley DB工具:
    # yum install db4 db4-utils
    生成虚拟用户认证的db文件:
    # db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
 
六、编辑认证文件:
    # vi /etc/pam.d/vsftpd
 
    全部注释掉原来语句再增加以下两句:
    ##查看系统版本号    
    # getconf LONG_BIT
    #系统为32位的
    auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
    #系统为64位的
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
 
 
七、创建虚拟用户配置文件
    # mkdir /etc/vsftpd/vuser_conf/
    #文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
    # vi /etc/vsftpd/vuser_conf/test
    ##内容如下:
    #虚拟用户根目录,根据实际情况修改(如果没有需要创建)。该目录必须要有读写权限 chmod -R 777 目录。
    local_root=/var/ftp/upload
    #可写 
    write_enable=YES
    #掩码 
    anon_umask=022
    anon_world_readable_only=NO 
    anon_upload_enable=YES 
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
 
八、设置防火墙
    打开防火墙设置:
    # vi /etc/sysconfig/iptables
    注释其他,新加如下
    # -A INPUT –m state --state NEW –m tcp –p tcp –dport 22 –j ACCEPT
    # -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    # -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT     (被动模式开放端口)
    然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
    # systemctl restart firewalld.service

转载于:https://www.cnblogs.com/caibaofei/p/9149366.html

搭建vsftpd文件服务器并创建虚拟用户的更多相关文章

  1. vsftpd 创建虚拟用户

    1.添加一个宿主用户:useradd vsftpd -s /sbin/nologin2.安装db4-utils,通过本底数据文件实现虚拟用户访问yum install db4-utils3.创建ftp ...

  2. Linux文件服务器实战(虚拟用户)

    vsftpd基于系统用户访问ftp服务器,系统用户越多越不利于管理,不利于系统安全,这样就以vsftp虚拟防护的方式来解决. 虚拟用户没有实际的真实系统用户,,而是通过映射到其中一个真实用户以及设置相 ...

  3. vsftpd服务安装与虚拟用户配置

    vsftpd的全名是“Very secure FTP Daemon” 一.安装vsftpd安装db4-util用于生成认证文件 yum -y install db4-utils 安装vsftpd yu ...

  4. vsftpd基于pam_mysql的虚拟用户机制

    何为vsftpd? vsftpd:very secure ftp daemon 程序:/usr/sbin/vsftpd 配置文件:/etc/vsftpd/vsftpd.conf 其用户分为:匿名用户( ...

  5. ftp环境搭建并创建虚拟用户

    1. 首先安装ftp yum install -y vsftpd 2. 修改配置文件   cd /etc/vsftpd /etc/vsftpd/vsftpd.conf //主配置文件,核心配置文件 / ...

  6. CentOS 7搭建vsftp(虚拟用户方式登录)

    说明: vsftpd的版本:vsftpd-3.0.2-22.el7.x86_64 ftp 根目录 : /data/ftp ftp 配置文件目录:/etc/vsftpd ftp 虚拟用户权限配置文件目录 ...

  7. Vsftpd虚拟用户登陆配置(Centos7)

    1 安装Vsftpd服务 # yum install vsftpd -y vsftp虚拟用户是为了保证FTP服务器的安全性,由vsftpd服务器提供的非系统用户账号, 相对于FTP的本地用户来说,虚拟 ...

  8. FTP原理和虚拟用户映射登录-2019.2.8

    FTP主动模式和被动模式 FTP(File Transfer Protocol)是文件传输协议的简称.正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序 ...

  9. linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)

    FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...

随机推荐

  1. Java调用ARM模板执行Azure Rest建立VM过程

    Azure Resource Manager 提供一致的管理层,用于管理通过 Azure PowerShell.Azure CLI.Azure 门户.REST API 和开发工具执行的任务,所有工具使 ...

  2. Android | 教你如何开发扫二维码功能

    前言   最近要做一个停车场扫码收费的app,在网上搜了一圈,首先接触到了ZXing,上手试了下,集成过程不复杂,但是感觉效果欠佳,比如距离稍微远点儿就扫不出来了,另外角度对的不好,反光或者光线比较暗 ...

  3. 按公式产生随机数、java中的重载、递归、有关计算机计算的问题

    1.按公式产生随机数x1=(16807*x)%(Integer.MAX_VALUE)x=x1;通过这个公式进行随机数的产生,当产生的数字大于2e+32-2时,在用产生随机数的方式进行数字的输出.主要思 ...

  4. flask-include、set、with、模板继承

    flask-include.set.with include: 跟django的include类似,将一个html的代码块直接嵌入另一个html文件中 {%   include    'html    ...

  5. redis持久化文件问题

    问题: Can't open the append-only file Permission denied 发现缺少文件:/data/缺少appendonly.aof,dump.rdb文件. 手动创建 ...

  6. Linux 磁盘管理篇,连接文件

    连接文件分为两种 1.像Window类似的快捷方式的文件 2.通过文件系统的inode来产生新的文件名而不是新文件(硬连接) 创建连接文件            ln 创建连接文件的快捷方式      ...

  7. mysql中的PACK_KEYS

    原文  http://jackyrong.iteye.com/blog/2170222 在mysql的myisam引擎中,有一个是容易忽视的,叫压缩索引PACK_KEYS , myISAM使用前缀压缩 ...

  8. leetcode-0001 两数之和

    题目地址:https://leetcode-cn.com/problems/two-sum/ 1.暴力解法 直接双重循环,枚举出所有可能的解,时间复杂度为O(n^2),空间复杂度为O(1) var t ...

  9. 跨域cookies 共享

    这是由于,本地调试.涉及到cookies的问题 想要跨域使用的问题 vue 中的mian.js中放入下面代码 import axios from 'axios' axios.defaults.with ...

  10. C#多线程(4):进程同步Mutex类

    Mutex 类 构造函数和方法 系统只能运行一个程序的实例 解释一下上面的示例 接替运行 进程同步示例 另外 Mutex 类 Mutex 中文为互斥,Mutex 类叫做互斥锁.它还可用于进程间同步的同 ...