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
    配置若有遗漏或错误,请评论留言。
  • 相关阅读:
    在Android studio中,测试输出数组中最大子数组的和
    我所理解的软件开发模式
    java实现随机输出300题四则运算
    Demo(3月28日)
    关于构建之法中小飞问题的个人看法
    对搭档代码的一些意见
    项目复审
    安卓UI测试(基于android studio环境 espresso框架)
    读构建之法后的一些个人感受
    思考题
  • 原文地址:https://www.cnblogs.com/BrokenEaves/p/14492959.html
Copyright © 2011-2022 走看看