zoukankan      html  css  js  c++  java
  • vsftp、ftps 搭建

    今天公司某个产品预上线,该产品需要向政府某部门提供一些数据。

    该部门提交数据需要使用ftps,苦逼的我只能是测试环境搭建一套,用来测试提交数据。

    先自行科普下ftps

    一、搭建vsftp

    安装vsftp:

    yum  install  vsftpd   db4-utils  -y

    修改vsftp配置文件:

    anonymous_enable=NO
    
    local_enable=YES
    
    write_enable=YES
    
    local_umask=022
    
    anon_upload_enable=NO
    
    dirmessage_enable=YES
    
    xferlog_enable=YES
    
    connect_from_port_20=YES
    
    pasv_enable=NO
    #用于设置被动模式,默认vsftp是以主动模式工作,如果windows要访问改为YES
    pasv_min_port=30000
    pasv_max_port=30999
    
    chown_uploads=NO
    
    xferlog_file=/var/log/xferlog
    
    xferlog_std_format=YES
    
    async_abor_enable=YES
    
    ascii_upload_enable=YES
    
    ascii_download_enable=YES
    
    listen=YES
    
    pam_service_name=vsftpd
    
    userlist_enable=YES
    
    tcp_wrappers=YES
    
    guest_enable=YES
    
    guest_username=vsftpdhome
    
    virtual_use_local_privs=YES
    
    user_config_dir=/etc/vsftpd/users_config
    
    dual_log_enable=YES
    
    vsftpd_log_file=/var/log/vsftpd.log 
    vsftpd.conf
    创建秘钥认证文件:
    一行用户,一行密码;以此类推
    cat > /etc/vsftpd/login.txt << eof
    admin
    password
    eof

    生成二进制文件:

    cd /etc/vsftpd/
    db_load -T -t hash -f login.txt login.db
    chmod 600 /etc/vsftpd/login.*
    db_load参数解释:
    db_load参数解释:
    
    选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。如果指定了选项-T,那么一定要追跟子选项-t。
    子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。扩展介绍下,-t可以指定的数据类型有Btree、Hash、Queue和Recon数据库。
    选项-f的参数是包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码。
    db_load参数解释

    添加认证方式:

    cat /etc/pam.d/vsftpd 
    #%PAM-1.0
    #session    optional     pam_keyinit.so    force revoke
    #auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
    #auth       required    pam_shells.so
    #auth       include     password-auth
    #account    include     password-auth
    #session    required     pam_loginuid.so
    #session    include     password-auth
    auth        required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login
    account     required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login
    
    ##备注:上面只有最后两行生效,db=/etc/vsftpd/login 实质指向的
    #是/etc/vsftpd/login.db(配置中不加DB)
    #另外lib64 为 64位系统,32位系统写lib
    #auth是对用户密码进行验证。
    #accout是对用户的权限进行验证。

    创建用户管理文件:

    mkdir /etc/vsftpd/users_config
    cat > /etc/vsftpd/users_config/admin << eof
    local_root=/data/
    virtual_use_local_privs=NO
    write_enable=YES
    
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    
    idle_session_timeout=600
    data_connection_timeout=120
    max_clients=10
    max_per_ip=100
    anon_max_rate=30720000
    eof

    创建local_root目录,并赋予权限:

    mkdir /data
    useradd vsftpdhome
    chown vsftpdhome.vsftpdhome /data/

    启动vsftpd:

    /etc/init.d/vsftpd start

    二、vsftp被动方式配置

    vsftp 被动模式配置方式及防火墙配置方式:

    #在vsftpd配置文件中配置被动端口,被动端口是给windows 使用的,具体原因自己百度下
    #优点:对连接速度没有影响。
    #缺点:限制了客户端并发连接的数量。
    在/etc/vsftpd/vsftpd.conf中添加:
    
    pasv_enable=YES
    pasv_min_port=3000
    pasv_max_port=3005

    防火墙配置:

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 3000:3005 -j ACCEPT

    如果开启了selinx,selinux配置

    setsebool -P ftpd_disable_trans 1
    service vsftpd restart

    三、ftps配置

    自己理解,所谓ftps是ftp调用ssl来完成安全的验证。

    如果不正确还请指正。

    修改vsftpd.conf,添加如下行:

    # head vsftpd.conf 
    #### ssl #####
    rsa_cert_file=/etc/vsftpd/certs/test.pem
    rsa_private_key_file=/etc/vsftpd/certs/test.key
    ssl_tlsv1=YES
    ssl_sslv3=YES
    ssl_sslv2=YES
    ssl_enable=YES
    force_local_logins_ssl=YES
    force_local_data_ssl=YES

    然后重启vsftp。

    四、登陆验证

    在客户机上安装ftp客户端软件FlashFXP

    安装之后新建站点,截图如下:

     

     到这,基本已经完成了。至于中间遇到的ssl中使用的证书怎么生成,下次再写出来吧。

  • 相关阅读:
    AX2009使用NPOI导出EXCEL颜色设置
    AX2009使用NPOI导出EXCEL常用格式设置
    AX2009使用NPOI导出EXCEL2007
    AX2009使用NPOI导出EXCEL
    【基础复习】五:STL模板与容器
    【基础复习】四:循环、递归与概率
    【基础复习】三:指针与引用
    【基础复习】二:预处理、const与sizeof
    【基础复习】一:程序设计基本概念
    TEC-2 机 微程序设计
  • 原文地址:https://www.cnblogs.com/Star-Haitian/p/8426295.html
Copyright © 2011-2022 走看看