zoukankan      html  css  js  c++  java
  • Linux下安装vsftpd

    一.安装vsftpd及相关依赖包

    #vsftpd安装程序和依赖表
    yum install -y vsftpd pam* db4*

    安装完之后,vsftpd默认在/etc/vsftpd目录下 

    二.修改vsftpd.conf (/etc/vsftpd/vsftpd.conf)

    #建立相关文件和文件夹
    touch /etc/vsftpd/chroot_list
    mkdir /etc/vsftpd/ftplogin
    #修改vsftpd.conf
    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    vim /etc/vsftpd/vsftpd.conf
    #原有配置的修改
    anonymous_enable=NO
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    pam_service_name=vvsftpd    
    #新增配置
    guest_enable=YES
    guest_username=www
    user_config_dir=/etc/vsftpd/ftplogin

    完整配置如下(伸手党福音),直接覆盖即可,千万不要忘记备份原文件

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    allow_writeable_chroot=YES listen=YES userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=www user_config_dir=/etc/vsftpd/ftplogin pam_service_name=vvsftpd

    三.建立FTP虚拟登陆账户

    1.创建密码明文文件

    touch /etc/vsftpd/vuser
    vi /etc/vsftpd/vuser

    格式为:

    用户名1
    用户名1密码
    用户名2
    用户名2密码
    ...........

    2.生成pam校验数据库文件

    db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db

    为了安全期间,建议在生成校验数据库之后,删除vuser文件

    或者修改vuser权限,不让别的用户读(root大神如果被攻陷,那就没什么好说的了)

    chmod 600 /etc/vsftpd/vuser

    3.添加新的pam service 

    touch /etc/pam.d/vvsftpd
    vim /etc/pam.d/vvsftpd

     内容如下(注意如果是32位系统,那就用32位的校验,本例是64位的):

    #%PAM-1.0
    #auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
    #account required /lib/security/pam_userdb.so db=/etc/vsftpd/login
    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

    4.给FTP虚拟用户赋权(增加权限配置文件)

    配置文件存放路径,就是conf中的user_config_dir,本文就是/etc/vsftpd/ftplogin,文件名必须和用户名相同

    文件配置详解,默认路径需要提前用mkdir建立好,目录拥有者设置为conf中的guest_username,本文为www

    #有上传/下载/修改权限
    anon_world_readable_only=NO
    write_enable=YES
    anon_mkdir_write_enable=YES
    anon_upload_enable=YES
    anon_other_write_enable=YES
    local_root=/u01/ftpb/upload/
    
    #只有上传/修改权限
    anon_world_readable_only=NO
    write_enable=YES
    anon_mkdir_write_enable=YES
    anon_upload_enable=YES
    local_root=/u01/ftpb/upload/
    
    #只有下载权限
    anon_world_readable_only=NO
    local_root=/u01/ftpb/upload/

     5.设置seLinux

    setsebool -P allow_ftpd_full_access on
    setsebool -P ftp_home_dir on
    #最新测试CentOS 7.6已经没有ftp_home_dir参数 , 改成tftp_home_dir
    setsebool -P tftp_home_dir on

    如果出现500无法显示列表的错误,主要是iptables设置的问题,请查看相关文章 http://www.cnblogs.com/kreo/p/4368811.html

    被动模式设置特定端口

    pasv_enable=yes
    pasv_min_port=4500
    pasv_max_port=5000
  • 相关阅读:
    微信小程序 单选按钮 最佳
    微信小程序 单选按钮的实现
    微信小程序 单选框实现
    Java Code To Create Pyramid and Pattern
    Java language
    npm Err! Unexpected end of JSON input while parsing near
    Node.js Express FrameWork Tutorial
    Higher-Order Function Examples
    Create First HTTP Web Server in Node.js: Complete Tutorial
    Node.js NPM Tutorial: Create, Publish, Extend & Manage
  • 原文地址:https://www.cnblogs.com/kreo/p/4377376.html
Copyright © 2011-2022 走看看