zoukankan      html  css  js  c++  java
  • vsftpd

    1.vsftpd安装配置

    1.1环境需求

    服务器系统:CentOS7,vsftpd

    客户端:win10,xftp客户端或浏览器

    关防火墙、selinux

    1.2安装epel源

    # curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    # yum install -y epel-release

    yum reinstall -y epel-release

    1.3安装vsftpd及相关依赖

    # yum -y install vsftpd* pam* db4*

    pam:认证模块

    DB4:支持文件数据库

    1.4vsftpd配置文件说明

    /etc/vsftpd/vsftpd.conf vsftpd的核心配置文件

    /etc/vsftpd/ftpusers 用于指定哪些用户不能访问FTP服务器

    /etc/vsftpd/user_list 指定允许使用vsftpd的用户列表文件

    /etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置脚本

    /var/ftp/ 默认情况下匿名用户的根目录

    1.5vsftpd配置

    write_enable=YES anon_umask=022 匿名用户上传文件权限掩码anonymous_enable=YES 匿名访问 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 改,删,覆盖

    anon_root=/var/ftp

    anon_max_rate=0 限制最大传输速率(字节/秒)0为无限制

    chown_uploads 匿名上传的文件是否由某一指定用户

    chown_username (有效用户名)匿名上传的文件由该设定用户所有

    xferlog_file (有效路径)设置日志文件的保存位置,默认/var/log/xferlog

    local_enable=YES 是否允许本地系统用户访问

    local_root=/var/ftp 设置本地用户的FTP根目录

    chroot_list_enable=YES 表示是否开启chroot的环境,默认不开启

    chroot_list_file=/etc/vsftpd/chroot_list 表示写在指定文件里的用户不可以出chroot环境,默认可以

    chroot_local_user=YES 表示所有写在/etc/vsftpd/chroot_list文件里的用户可以出chroot环境。和上面相反

    1.6vsftpd修改配置前备份配置文件

    # cd /etc/vsftpd/
    # cp vsftpd.conf{,.bak}

    1.7vsftpd配置匿名用户

    # cat vsftpd.conf |grep -v '^#'
    # vim /etc/vsftpd/vsftpd.conf
    write_enable=YES
    anon_umask=022
    anonymous_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    ​
    dirmessage_enable=YES   当进入某个目录时,发送信息提示给远程远程用户
    xferlog_enable=YES      是否开启上传和下载的日志记录
    connect_from_port_20=YES    是否使用20端口来连接FTP
    xferlog_std_format=YES
    listen=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    # systemctl restart vsftpd
    # ps aux |grep vsftpd
    ​
    //修改权限实现上传
    # cd /var/ftp/
    # chown -R ftp.ftp pub/
    # systemctl restart vsftpd

    2.系统用户登录

    2.1测试用户

    # useradd zhangsan
    # useradd lisi
    # echo "12345" |passwd --stdin zhangsan
    # echo "12345" |passwd --stdin lisi
    # vim /etc/vsftpd/vsftpd.conf
    local_enable=YES
    local_umask=077
    chroot_local_user=YES
    allow_writeable_chroot=YES
    write_enable=YES
    ​
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    userlist_deny=NO
    tcp_wrappers=YES
    ​
    # systemctl restart vsftpd
    # vim /etc/vsftpd/user_list             目前是白名单
    zhangsan
    lisi
    # systemctl restart vsftpd
    # cd /home/zhangsan
    # touch zhangsan.txt
    # systemctl restart vsftpd

    3.vsftp配置虚拟用户

    3.1建立虚拟账号

    # useradd -s /sbin/nologin vu

    3.2创建虚拟用户文件

    # cd /etc/vsftpd
    # vim user
    wangwu
    12345
    zhaoliu
    12345

    3.3创建数据文件

    # db_load -T -t hash -f user user.db

    -f 指定数据源文件

    -T 允许非Berkeley DB的应用程序使用文本格式转换的DB数据文件

    -t hash 读取文件的基本方法

    3.4建立支持虚拟用户的PAM认证文件

    # vim /etc/pam.d/vsftpd.vu
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/user
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/user

    3.5修改配置文件

    # vim /etc/vsftpd/vsftpd.conf           :dG清空文档
    write_enable=YES
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=YES
    allow_writeable_chroot=YES
    guest_enable=YES                    //开启虚拟用户模式
    guest_username=vu               //指定虚拟用户账号映射到本地账号vftp
    pam_service_name=vsftpd.vu
    userlist_enable=YES
    userlist_deny=NO
    tcp_wrappers=YES
    local_enable=YES
    local_umask=077
    chroot_local_user=YES //禁锢用户在其家目录
    virtual_user_local_privs=YES
    user_config_dir=/etc/vsftpd/user_dir
    ​
    # mkdir /etc/vsftpd/user_dir
    # cd /etc/vsftpd/user_dir
    # vi zhao
    local_root=/etc/vsftpd/data
    # cd ..
    # mkdir data
    # chmod 777 data/
    # systemctl restart vsftpd
    配置若有遗漏或错误,请评论留言。
  • 相关阅读:
    2.Spring Boot 有哪些优点?
    3.什么是 JavaConfig?
    4.如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    Java中的异常处理机制的简单原理和应用。
    垃圾回收的优点和原理。并考虑2种回收机制。
    我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
    Request对象的主要方法:
    JSP的内置对象及方法。
    Servlet执行时一般实现哪几个方法?
    说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
  • 原文地址:https://www.cnblogs.com/BrokenEaves/p/14492959.html
Copyright © 2011-2022 走看看