美文网首页
Centos 7.2安装 vsftpd服务

Centos 7.2安装 vsftpd服务

作者: 霂蔺 | 来源:发表于2017-10-27 16:04 被阅读98次

    一、实验环境:

    • 操作系统:阿里云Centos7.4
    • 内核版本:3.10.0-693.2.2.el7.x86_64
    • vsftpd版本:vsftpd-3.0.2

    二、安装准备:

    1.关闭selinux

         selinux为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭selinux。
    
    • 查看SLlinux状态:
      /usr/sbin/sestatus -v   ##如果SELinux status参数为enabled即为开启状态
      getenforce       ##也可以用这个命令检查
    • 1.临时关闭:
      setenforce 0       ##(设置SELinux 成为permissive模式)
                   ##(setenforce 1 设置SELinux 成为enforcing模式)
    • 2.永久关闭(修改配置文件需要重启机器):
      修改/etc/selinux/config
      文件将SELINUX=enforcing改为SELINUX=disabled
      重启服务器即可

    三、安装vsftpd

    1.查看服务器是否安装vsftpd

    rpm -qa|grep vsftpd

    2.安装vsftpd服务及ftp客户端

    yum install ftp vsftpd -y

    3.备份vsftpd的配置文件

    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

    四、配置虚拟用户访问vsftpd服务

    1.创建虚拟用户的密码文件,奇数行为用户名,偶数行为密码:

    touch /etc/vsftpd/vir_user.txt
    echo -e "bingfeng\nbingfeng" >> /etc/vsftpd/vir_user.txt
    echo -e "bf\nbf" >> /etc/vsftpd/vir_user.txt
    这里创建了2个用户bingfeng、bf,bingfeng有读写权限,bf只有读的权限。

    2.生成虚拟用户数据库:

    yum -y install libdb-utils
    db_load -T -t hash -f /etc/vsftpd/vir_user.txt /etc/vsftpd/vir_user.db

    3.配置vsftpd pam验证文件/etc/pam.d/vsftpd:

    mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
    cat <<END > /etc/pam.d/vsftpd
    auth required pam_userdb.so db=/etc/vsftpd/vir_user
    account required pam_userdb.so db=/etc/vsftpd/vir_user
    END

    4.增加一个系统用户virftp ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:

    useradd -d /ftproot virftp -s /sbin/nologin
    chown -R virftp.virftp /ftproot

    6、设置vsftpd主配置文件/etc/vsftpd/vsftpd.conf:

    #禁止匿名用户登录
    anonymous_enable=NO
    #允许本地用户登录
    local_enable=YES
    #启用虚拟账户
    guest_enable=YES
    #把虚拟账户映射到系统账户virftp
    guest_username=virftp
    #使用虚拟用户验证(PAM验证)
    pam_service_name=vsftpd
    #设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
    user_config_dir=/etc/vsftpd/vsftpd_viruser
    #启用chroot时,虚拟用户根目录允许写入
    allow_writeable_chroot=YES

    7.设置虚拟用户各自的配置文件:

    mkdir /etc/vsftpd/vsftpd_viruser/
    #配置文件名同虚拟账户名
    touch /etc/vsftpd/vsftpd_viruser/bingfeng
    touch /etc/vsftpd/vsftpd_viruser/bf
    chown -R virftp.virftp /ftproot

    8.在虚拟用户 bingfeng的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/bingfeng

    # 允许写入
    write_enable=YES
    #允许浏览FTP目录和下载
    anon_world_readable_only=NO
    # 允许虚拟用户bingfeng上传文件
    anon_upload_enable=YES
    # 允许虚拟用户创建目录
    anon_mkdir_write_enable=YES
    # 允许虚拟用户bingfeng执行其他操作(如改名、删除)
    anon_other_write_enable=YES
    # 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
    anon_umask=022
    # 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
    local_root=/ftproot/

    9.在虚拟用户 bingfeng的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/bf

    write_enable=NO
    anon_world_readable_only=NO
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    anon_other_write_enable=NO
    anon_umask=022
    local_root=/ftproot/

    10.重启vsftpd服务、加入开机启动项:

    systemctl restart vsftpd.service
    systemctl enable vsftpd.service

    11.使用虚拟用户bingfeng和密码bingfeng测试

    [root@server ~]# ftp
    ftp> open 127.0.0.1
    Connected to 127.0.0.1 (127.0.0.1).
    220 (vsFTPd 3.0.2)
    Name (127.0.0.1:root): bingfeng
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>

    参考地址:

    http://aiezu.com/article/centos7_yum_vsftpd_install_configure.html

    相关文章

      网友评论

          本文标题:Centos 7.2安装 vsftpd服务

          本文链接:https://www.haomeiwen.com/subject/itzrpxtx.html