• centos7 vsftp搭建ftp服务器,实现虚拟用户登录


    一、安装vsftp及需要的软件包

    yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tcl

    安装完vsftp后,会自动创建一个ftp用户
    cat /etc/passwd  查看,ftp的home目录:/var/ftp
    

    在这里插入图片描述

    二、配置vsftp

    配置的详细信息可以参考:
    https://www.cnblogs.com/ssrs-wanghao/articles/13751408.html
    官方文档:http://vsftpd.beasts.org/vsftpd_conf.html

    cd /etc/vsftp
    vim /etc/vsftp/vsftp.conf

    配置文件如下:

    anonymous_enable=NO
    local_enable=YES
    # 虚拟用户可上传、下载、新建文件和目录、禁止修改文件和目录、禁止删除
    write_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_world_readable_only=NO
    anon_other_write_enable=NO
    
    local_umask=022
    anon_umask=022
    
    dirmessage_enable=YES
    #message_file=.message
    
    xferlog_enable=YES
    
    xferlog_file=/var/log/xferlog
    xferlog_std_format=YES
    dual_log_enable=YES
    vsftpd_log_file=/var/log/vsftpd.log
    #
    # You may change the default value for timing out an idle session.
    idle_session_timeout=600
    #
    # You may change the default value for timing out a data connection.
    data_connection_timeout=600
    #
    ftpd_banner=Welcome to ftp service.
    # 限制用户在指定目录
    chroot_local_user=YES
    #chroot_list_enable=YES
    
    #port_enable=YES
    #connect_from_port_20=YES
    listen=YES
    listen_port=21
    listen_address=10.142.6.234
    pasv_enable=YES
    pasv_min_port=40000
    pasv_max_port=40100
    # hostname use
    pasv_addr_resolve=NO
    pasv_address=10.142.1.11
    pasv_promiscuous=YES
    
    tcp_wrappers=YES
    # 禁用dns,如果打开ftp很慢,建议禁用
    reverse_lookup_enable=NO
    # 虚拟用户账号密码文件,默认路径 /etc/pam.d/
    pam_service_name=vsftpd.virtual
    userlist_enable=YES
    userlist_deny=YES
    
    guest_enable=YES
    guest_username=ftp
    # 虚拟用户配置文件夹
    user_config_dir=/etc/vsftpd/vconf
    virtual_use_local_privs=NO
    allow_writeable_chroot=YES
    
    # 是否启用ssl
    ssl_enable=NO
    allow_anon_ssl=YES
    #force_local_data_ssl=YES
    #force_local_logins_ssl=YES
    force_anon_logins_ssl=YES
    force_anon_data_ssl=YES
    ssl_tlsv1=NO
    ssl_sslv2=NO
    ssl_sslv3=YES
    require_ssl_reuse=NO
    ssl_ciphers=HIGH
    rsa_cert_file=/etc/vsftpd/.ssl/vsftpd.pem
    rsa_private_key_file=/etc/vsftpd/.ssl/vsftpd.pem
    

    三、建立虚拟用户和配置

    1.建立虚拟用户并绑定

    cd /etc/vsftp
    vim vuser.list

    user1
    123456
    user2
    123456
    

    一行用户,一行密码,一次排列
    db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/virtuser.db
    vim /etc/pam.d/vsftpd.virtual

    auth required pam_userdb.so db=/etc/vsftpd/vuser
    account required pam_userdb.so db=/etc/vsftpd/vuser
    

    登录验证和帐号验证指定 /etc/vsftpd/virtuser.db

    在这里插入图片描述
    配置文件指定ftp用户为虚拟用户的宿主用户,不单独指定虚拟用户目录,登录会在ftp的home目录。

    2.单独配置每个虚拟用户

    mkdir /etc/vsftp/vconf
    cd /etc/vsftp/vconf
    vim user1

    # 指定user1的登录目录
    local_root=/var/ftp/user1dir
    write_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_world_readable_only=NO
    anon_other_write_enable=NO
    

    mkdir /var/ftp/user1dir

    虚拟用户配置文件名必须和虚拟用户名一致

    四、常见错误

    Error EElFTPSUnacceptedReplyError: Unaccepted server reply code 553

    权限不够的问题:chown -R ftp:ftp /var/ftp

  • 相关阅读:
    长、短视频中场歇战
    DigiCert代码签名证书
    Linux 性能优化之使用 Tuned 配置优化方案
    前端架构师之02_Node.js安装
    【C++】模板初阶
    java计算机毕业设计人才库构建研究源码+数据库+系统+lw文档+mybatis+运行部署
    C++中类的友元函数和友元类详解
    数据库字段中使用逗号拼接,需要查询数据时
    SQL注入漏洞 | iwebsec
    从设计、制造到封测,XSKY 智能存储助力半导体行业数字化转型
  • 原文地址:https://blog.csdn.net/hiluo302/article/details/127112382