美文网首页
centos 7.5 vsftpd服务器安装

centos 7.5 vsftpd服务器安装

作者: 茅坑里的小石头 | 来源:发表于2020-04-02 16:27 被阅读0次

    1. 安装

    sudo yum install vsftpd
    #启动
    sudo systemctl start vsftpd
    #设置开机自启动
    sudo systemctl enable vsftpd
    #查看状态
    sudo systemctl status vsftpd
    

    2. 配置

    # 创建一个组
    groupadd www
    # 创建一个用户,不允许登陆和不创主目录 
    useradd -s /bin/false -g www -M www
    useradd -g www -s /bin/false -u 1003 sftp
    # 更改目录权限
    chown www:www /www/wwwroot
    chmod -R 775 /www/wwwroot
    #编辑conf
    vim /etc/vsftpd/vsftpd.conf
    

    写入如下内容

    #端口
    listen_port=10080
    local_root=/www/wwwroot
    anonymous_enable=NO
    tcp_wrappers=YES
    
    #读写配置
    listen=YES
    local_enable=YES
    write_enable=YES
    
    #功能设置
    max_clients=5
    max_per_ip=3
    local_umask=022
    dirmessage_enable=YES
    connect_from_port_20=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    
    #日志配置
    dual_log_enable=YES
    xferlog_std_format=YES
    xferlog_enable=YES
    vsftpd_log_file=/var/log/vsftpd/vsftpd.log
    xferlog_file=/var/log/vsftpd/xferlog
    
    #限制用户设置
    allow_writeable_chroot=YES
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    
    #虚拟用户模式
    user_config_dir=/etc/vsftpd/virtual_user
    guest_enable=YES
    guest_username=sftp
    pam_service_name=vsftpd
    virtual_use_local_privs=YES
    
    #设置被动模式及端口范围
    pasv_enable=YES
    pasv_min_port=52800
    pasv_max_port=52900
    pasv_promiscuous=YES
    pasv_address=服务器ip地址
    

    创建虚拟用户目录

    mkdir /etc/vsftpd/virtual_user
    

    创建用户列表,注意奇数行是用户名,偶数行是密码

    vim /etc/vsftpd/virtual_user.txt
    

    添加如下内容

    test
    123456
    test2
    123456
    

    生成虚拟口令认证的db文件
    db_load -T -t hash -f /etc/vsftpd/virtual_user.txt /etc/vsftpd/virtual_user.db
    编辑vsftpd的PAM认证文件

    vim /etc/pam.d/vsftpd
    

    内容为

    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_user
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_user
    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
    

    创建虚拟用户目录配置文件

    vim /etc/vsftpd/virtual_user/用户名
    

    内容为

    # 每个虚拟用户的单独配置,会覆盖模板配置文件配置
    local_root=/www/wwwroot
    anon_umask=022
    write_enable=YES
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    

    建立限制用户访问目录的空文件

    touch /etc/vsftpd/chroot_list
    

    创建日志文件

    mkdir -p /var/log/vsftpd
    touch /var/log/vsftpd/vsftpd.log
    touch /var/log/vsftpd/xferlog
    

    重启vsftpd服务

    sudo systemctl restart vsftpd
    

    添加SSL证书支持
    检查vsftpd是否支持ssl模块

    ldd $(which vsftpd) | grep ssl
    #显示如下
    libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f64c2470000)
    

    建立专门给vsftpd使用的凭证数据

    cd /etc/pki/tls/certs
    make vsftpd.pem
    cp -a vsftpd.pem /etc/vsftpd/
    ll /etc/vsftpd/vsftpd.pem
    

    修改vstpd.conf配置文件

    vim /etc/vsftpd/vsftpd.conf
    

    在末尾添加

    ssl_enable=YES
    allow_anon_ssl=YES
    force_anon_data_ssl=YES
    force_anon_logins_ssl=YES
    force_local_data_ssl=YES
    force_local_logins_ssl=YES
    ssl_tlsv1=YES
    #ssl_sslv2=NO
    #ssl_sslv3=NO
    rsa_cert_file=/etc/vsftpd/vsftpd.pem
    

    重启服务

    sudo systemctl restart vsftpd
    

    在阿里云添加安全规则

    image.png

    END

    相关文章

      网友评论

          本文标题:centos 7.5 vsftpd服务器安装

          本文链接:https://www.haomeiwen.com/subject/xwixphtx.html