zoukankan      html  css  js  c++  java
  • 搭建FTP服务器

    yum install vsftpd -y
    yum install pam* db4* --skip-broken –y

    创建并生成vsftpd 数据库文件vi /etc/vsftpd/ftpusers.txt,内容如下:
    第一行为FTP 虚拟用户,登录用户名,第二行为密码,第三行为用户名,依次类推。
    wugk
    1
    wugk1
    1

    生成数据库文件命令:
    db_load -T -t hash -f /etc/vsftpd/ftpuser.txt /etc/vsftpd/vsftpd_login.db
    chmod 700 /etc/vsftpd/vsftpd_login.db

    配置PAM 验证文件:
    在配置文件vi /etc/pam.d/vsftpd 行首加入如下两行认证语句,注释其他所有行:(如果是32 位,lib64需改成lib,如果RedHat,加入的语句不一样,需注意)
    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

    创建vsftpd 映射本地用户:
    所有的FTP 虚拟用户需要使用一个系统用户,这个系统用户不需要密码,也不需要登录。主要用来做虚拟用户映射使用。
    useradd -d /home/ftpuser -s /sbin/nologin ftpuser

    vsftpd.conf完整版配置文件内容如下:

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    #port_enable=YES (如果是主动模式请去掉“#”,注释这两行pasv_min_port=30001,pasv_max_port=30010)
    connect_from_port_20=YES
    xferlog_file=/var/log/vsftpd.log
    xferlog_std_format=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    listen=YES
    guest_enable=YES
    guest_username=ftpuser
    pam_service_name=vsftpd
    user_config_dir=/etc/vsftpd/vsftpd_user_conf
    virtual_use_local_privs=YES
    #pasv_enable=NO
    pasv_min_port=30001
    pasv_max_port=30010
    chroot_local_user=YES

    保存重启,/etc/init.d/vsftpd restart 即可使用虚拟用户登录,这时候所有的虚拟用户
    共同使用/home/ftpuser 目录上传下载, 如果想使用自己独立的目录, 可以在
    /etc/vsftpd/vsftpd_user_conf 目录创建各自的配置文件,如给wugk 创建独立的配置文件:

    vi /etc/vsftpd/vsftpd_user_conf/wugk ,内容如下,建立自己的FTP 目录。

    local_root=/home/ftpsite/wugk #数据存放的目录,可更改(如/data/ftp)
    write_enable=YES #写入权限
    anon_world_readable_only=YES
    anon_upload_enable=YES #上传权限
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

    修改权限:
    chown -R ftpuser.ftpuser /data/ftp

    重启,使用客户端登录FTP,测试即可。

    ===================================================

    如果要对ftp的用户名和密码使用加密方式,请按照此方法:

    生成ftps:
    mkdir /etc/vsftpd/ssl
    openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem #365是证书的有效时间
    cp vsftpd.conf vsftpsd.conf
    在vsftpsd.conf配置文件,最后添加如下内容即可:
    ssl_enable=YES
    ssl_tlsv1=YES
    ssl_sslv2=YES
    ssl_sslv3=YES
    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES
    rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
    listen_port=101
    重启,使用客户端登录FTP,测试即可看到证书信息。

     

  • 相关阅读:
    JAVA导出EXCEL表格
    解决springboot配置@ControllerAdvice不能捕获 NoHandlerFoundException问题
    Mysql 查看定时器 打开定时器 设置定时器时间
    IDEA @Autowired 出现红色下划线 报红
    IntelliJ IDEA报warn class is never used
    UML类图符号 各种关系说明以及举例
    提升单元测试体验的利器--Mockito使用总结
    maven2中snapshot快照库和release发布库的应用
    Maven最佳实践-distributionManagement
    访问GitLab的PostgreSQL数据库
  • 原文地址:https://www.cnblogs.com/happlyp/p/6009655.html
Copyright © 2011-2022 走看看