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

     原文链接:https://www.cnblogs.com/kreo/p/4377376.html

    被动模式设置特定端口

    pasv_enable=yes
    pasv_min_port=4500
    pasv_max_port=5000
  • 相关阅读:
    String类的常用成员方法
    String类和StringBuffer类
    记事本
    GridLayout 可使容器中的各个组件呈网格状布局
    在使用add()方法添加组件到容器时,必须指定将其放置在哪个区域中
    每个容器都有一个布局管理器
    框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口
    面板是一种透明的容器,没有标题和边框
    要生成一个窗口,通常使用Window的子类Frame类进行实例化
    分布式系统 (大规模分布式系统原理解析和架构实践)
  • 原文地址:https://www.cnblogs.com/guantou1992/p/12817058.html
Copyright © 2011-2022 走看看