一、vsftpd安装

  1. yum安装
    安装依赖:yum install -y pam pam-devel db4 db4-devel db4-uitls db4-tcl
    安装vsftpd:yum install -y vsftpd
  2. rpm安装
    rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm    //安装vsftpd
    rpm -ivh pam-1.1.8-18.el7.x86_64.rpm  pam-devel-1.1.8-18.el7.x86_64.rpm     //安装PAM

    注:需要关闭selinux。

二、vsftpd配置

vsftpd配置文件:/etc/vsftpd/vsftpd.conf

1.本地用户方式

  1. 配置vsftpd.conf
    anonymous_enable=NO      //禁止匿名用户登录
    anon_upload_enable=NO    //禁止匿名用户上传
    anon_mkdir_write_enable=NO    //禁止匿名用户创建目录
    pasv_enable=YES        //开启被动模式
    pasv_min_port=3000     //最小端口号
    pasv_max_port=4000     //最大端口号
  2. 创建ftp用户 创建ftp目录:mkdir /ftp
    创建用户:useradd -d /ftp/user1 -g ftp -s /sbin/nologin user1
    重启vsftp:systemctl restart vsftpd
    开机启动vsftp:systemctl enable vsftpd
    注:需开启对应防火墙端口。

2.虚拟用户方式

  1. 配置vsftpd.conf
    创建宿主用户:useradd -d /ftp/ -g ftp -s /sbin/nologin vsftpd
    更改目录权限:chmod 700 /ftp
    创建虚拟用户配置文件目录:mkdir /etc/vsftpd/vconf

    anonymous_enable=NO      //禁止匿名用户登录
    anon_upload_enable=NO    //禁止匿名用户上传
    anon_mkdir_write_enable=NO    //禁止匿名用户创建目录
    write_enable=YES         //允许写操作
    local_umask=022          //上传文件后掩码
    chroot_local_user=YES    //锁定用户在主目录
    chroot_list_enable=NO    //禁止用户登出自己的目录
    chroot_list_file=/etc/vsftpd/chroot_list    //设定宿主用户文件
    async_abor_enable=YES       //开启异步传输
    userlist_enable=YES      //设定userlist_file中的用户不能使用ftp
    tcp_wrappers=YES         //设定支持TCP Wrappers
    
    #主动模式
    port_enable=YES         //开启主动模式
    connect_from_port_20=YES    //主动模式连接使用20端口
    ftp_data_port=20            //自定义ftp数据传输端口(可选)
    
    #被动模式
    pasv_enable=YES        //开启被动模式
    pasv_min_port=3000     //最小端口号
    pasv_max_port=4000     //最大端口号
    
    #虚拟用户
    guest_enable=YES       //开启虚拟用户
    guest_username=vsftpd    //虚拟用户使用的宿主用户
    pam_service_name=vsftpd    //开启pam
    virtual_use_local_privs=NO    //不使用宿主账户相同权限
    allow_writeable_chroot=YES    //允许用户目录可写
    user_config_dir=/etc/vsftpd/vconf    //用户配置文件目录
  2. 在/etc/vsftpd下创建chroot_list文件
    vi /etc/vsftpd/chroot_list
    写入:vsftpd
  3. 创建虚拟用户名单文件
    vi /etc/vsftpd/vuser.txt
    如下(奇数行帐号,偶数行密码):
    aaa
    111111
    bbb
    222222
  4. 生成虚拟用户数据文件
    db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
  5. 配置PAM验证文件
    vi /etc/pam.d/vsftpd
    注释掉原文件内容,然后输入以下内容:
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
  6. 虚拟用户配置
    创建虚拟用户目录:mkdir /ftp/aaa
    更改虚拟用户目录权限:
    chown vsftpd.vsftpd /ftp/aaa
    chmod 700 /ftp/aaa

    编辑虚拟用户配置文件,这里以用户aaa为例:

    local_root=/home/ftp/aaa       //设定用户主目录
    anon_world_readable_only=NO    //允许下载
    anon_upload_enable=YES         //允许上传
    anon_mkdir_write_enable=YES    //允许创建目录
    anon_other_write_enable=YES    //允许删除和重命名
  7. 启动vsftpd
    systemctl start vsftpd
最后修改:2019 年 03 月 20 日 08 : 53 AM
如果觉得我的文章对你有用,请随意赞赏