一、安装
    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. JavaScript基本数据类型及其转换规则

    ECMAScript 数据类型 ECMAScript中有五种基本数据类型:Undefined, Null, Boolean, Number, String 一种复杂数据类型:Object 数据类型检测 ...

  2. Git常用命令(一)

    $ git init 初始化仓库(会生成一个隐藏文件.git) $ git add + (文件名) 实现对指定文件的跟踪 $ git commit 提交更新$ git clone + URL 克隆远程 ...

  3. Java第六天,API中常用的类,StringBuffer、StringBuilder、包装类、System类的使用

    System (1)这个类中有很多可以获取系统信息的类. public class SystemLearn { public static void main(String[] args) { lon ...

  4. docker中的dockerfile

    什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docker ...

  5. x86汇编之栈与子程序调用

    什么是栈 栈与普通数据结构所说的栈的概念是相似的,遵循后进先出原则.不同的是汇编中所说的栈是一个在内存中连续的保存数据的区域,也即是实际存在的内存区域,进栈和出栈遵循后进先出原则. 在x86架构中,栈 ...

  6. 用一个完整的案例讲解Python数据分析的整个流程和基础知识

    先来想一下数据分析的流程,第一步获取数据,因此本节内容就是获取数据以及对数据的基本操作. 1.数据导入 1.1 导入.xlsx文件 要导入一个.xlsx后缀的Excel文件,可以使用pd.read_e ...

  7. H - Knight Moves DFS

    A friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the sh ...

  8. MySQL的单表查询

    单表查询 单表查询语法: select distinct 字段1,字段2... from 表名 where 条件 group by field having筛选 order by 关键字执行的优先级: ...

  9. cwyth(自动核销代码)

    财务一体化系统,自动核销大数据代码: import pymysql import random import time #指定数据库地址.用户.密码.端口,使用connect()方法声明一个Mysql ...

  10. async,await执行流看不懂?看完这篇以后再也不会了

    昨天有朋友在公众号发消息说看不懂await,async执行流,其实看不懂太正常了,因为你没经过社会的毒打,没吃过牢饭就不知道自由有多重要,没生过病就不知道健康有多重要,没用过ContinueWith就 ...