zoukankan      html  css  js  c++  java
  • vsftpd服务的搭建


    环境:

    • 系统centos7
    • ip:10.0.0.5

    1.匿名开放模式

    yum install vsftpd -y #安装vsftpd服务
    systemctl start vsftpd #启动服务
    
    参数 作用
    anonymous_enable=YES 允许匿名访问
    anon_umask=022 匿名用户上传文件的umask值
    anon_upload_enable=YES 允许匿名用户上传文件
    anon_mkdir_write_enable=YES 允许匿名用户创建目录
    anon_other_write_enable=YES 允许匿名用户修改目录名称或删除目录
    local_root=/var/ftp 设置root目录
    chroot_local_user=YES 是否将所有用户限制在主目录
    anon_root=/var/www 匿名用户登录目录

    通常默认安装的vsftpd就是匿名模式,当我们启动服务后,需要放行相应服务端口,要注意的是,你要是修改了匿名用户目录,目录权限不可以是777,最好是755,登录的主目录匿名用户是无法上传的,在主目录创建目录,修改其权限可写即可上传至该目录

    2.本地用户模式

    本地用户模式可以和匿名模式一起使用,通常环境可以创建一位具有写权限的用户来上传文件,而匿名用户方便大家下载相关资料。
    编辑/etc/vsftpd/vsftpd.conf

    local_enable=YES
    write_enable=YES
    local_umask=022
    

    将以上三项写入配置文件,然后重启vsftpd服务,默认情况本地用户登录是在自己的家目录,root用户被禁止登录,若有需求可以修改user_list和ftpusers文件将登录权限放开。

    3.虚拟用户模式

    虚拟用户模式是三个模式中最安全的一种验证方式,配置过程也会稍微复杂一些,虚拟用户模式也可以和匿名模式混用。

    1.创建用户数据库文件

    cd /etc/vsftpdd
    vim vuser.list
    

    创建用户文件
    奇数行为用户名,偶数行为密码.
    创建文件后需要对用户文件进行加密,并修改权限,然后将明文文件删除,之后创建一个用来虚拟用户登录后映射本地用户的用户。

    db_load -T -t hash -f vuser.list vuser.db
    chmod 600 vuser.db
    rm -f vuser.list
    useradd -d /test -s /sbin/nologin
    

    2.创建支持虚拟用户的PAM文件
    新建并编辑/etc/pam.d/vsftpd.vu文件,写下创建的数据库文件的路径

    auth required   pam_userdb.so db=/etc/vsftpd/vuser
    account required        pam_userdb.so db=/etc/vsftpd/vuser
    

    在这里插入图片描述
    3.修改vsftpd.conf配置文件

    参数 作用
    anonymous_enable=NO 禁止匿名开放模式
    local_enable=YES 允许本地用户模式
    guest_enable=YES 开启虚拟用户模式
    guest_username=test 指定虚拟用户账户
    pam_service_name=vsftpd.vu 指定PAM文件
    allow_writeable_chroot=YES 允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求

    配置示例

    4.创建虚拟用户权限文件
    如需要为每个虚拟用户匹配不同的权限,则需要为每个虚拟用户创建权限文件

    mkdir user_dir #创建放置权限的文件夹
    cd user_dir
    touch lemon
    

    在以虚拟用户名创建的文件中,写入如下参数

    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    

    然后在vsftpd.conf配置文件中追加虚拟用户权限文件夹的路径

    user_config_dir=/etc/vsftpd/user_dir
    

    之后重启vsftpd服务,至此配置过程完成,如发现服务未启动,无法打开,登录等问题,请检查相关配置文件,查看防火墙配置(ftp服务主动和被动模式防火墙配置不同需注意),SElinux的配置是否正常。

  • 相关阅读:
    Java文件读取
    Java继承
    JAVA程序提示错误:需要class,interface或enum解决方法
    SQL 修改列名
    转 父表字表统计查询的sql练习
    powerdesigner12.5入门教程
    现实世界
    oracle添加联合主键
    hashtable的用法
    JQ 1
  • 原文地址:https://www.cnblogs.com/lemonbk/p/11146612.html
Copyright © 2011-2022 走看看