当前位置 博文首页 > 超负荷小生的博客:Centos7-pure-ftpd服务的安装及各种用户的登

    超负荷小生的博客:Centos7-pure-ftpd服务的安装及各种用户的登

    作者:[db:作者] 时间:2021-09-08 19:42

    一、pure-ftpd的安装

    第一步:更换yum源,下载pure-ftpd

    yum install epel-release #添加yum源
    yum clean all #清理yum
    yum makecache #重新生成缓存
    yum -y install pure-ftpd # 安装pure-ftpd
    

    第二步:启动和关闭服务指令

    systemctl start pure-ftpd #开启服务
    systemctl restart pure-ftpd #重新启动服务
    systemctl stop pure-ftpd #关闭服务
    systemctl status pure-ftpd #查看状态
    

    二、不同角色的上传下载测试

    前提:关闭防火墙(也可以将所需端口或服务添加至防火墙),关闭SElinux

    sytemctl stop firewalld
    setenforce 0
    

    1、匿名用户的上传、下载的测试
    (1)修改配置文件pure-ftpd.conf

    vim /etc/pure-ftpd/pure-ftpd.conf # 编辑配置文件
    AnonymousCantUpload         no #将yes改为no,允许匿名上传文件
    

    (2)重启服务,进行匿名测试 。
    注意:默认文件夹在 /var/ftp/ ,如果没有ftp文件,需要新建ftp文件,并且可以在ftp下新建一个777的pub文件夹。账户在pub文件夹下进行put和get操作

    systemctl restart pure-ftpd
    

    在这里插入图片描述2、Centos7实体用户上传和下载测试
    (1)新建用户

    useradd pureuser -d /var/ftp
    passwd pureuser
    

    (2)上传和下载测试
    在这里插入图片描述3、虚拟用户使用pureDB的上传和下载测试
    (1)创建虚拟用户和创建用户信息数据库文件

    pure-pw useradd anonyuser -u pureuser -d /var/ftp -m  
    #回车后,输入密码即可创建成功
    #-u 是将虚拟用户与系统用户关联起来,使用虚拟用户登录后会以系统用户身份读写
    #-d 是指定家目录,使虚拟用户只能访问指定的目录
    
    pure-pw mkdb #创建用户信息数据库(创建完后必须操作)
    

    其他操作

    pure-pw list #查看用户列表
    pure-pw show user #查看用户信息
    

    (2)修改配置文件,打开PureDB功能

    vim /etc/pure-ftpd/pure-ftpd.conf # 打开配置文件
    PureDB /etc/pure-ftpd/pureftpd.pdb #取消注解,开启该配置
    

    (3) 重启服务进行上传和下载测试

    systemctl restart pure-ftpd
    

    在这里插入图片描述4、虚拟用户使用Mysql的上传和下载测试
    (1)安装mysql

    yum install -y mariadb mariadb-server
    systemctl start mariadb
    

    (2)进行初始化设置 mysql_secure_installation, 设置root密码,其余的选项都选y

    mysql_secure_installation # 设置root密码,其余的都选y
    mysql -uroot -p123456 回车  #即可进入
    

    (3)创建数据库,创建表,并插入相应的数据 (易错点,认真阅读注解)

    #创建数据库
    create database pureftpd; 
    #进入创建的数据库
    use pureftpd; 
    #创建数据表users表
    CREATE TABLE users (  User VARCHAR(255) BINARY NOT NULL,  Password VARCHAR(255) BINARY NOT NULL,  Uid INT NOT NULL default '-1',  Gid INT NOT NULL default '-1',  Dir VARCHAR(255) BINARY NOT NULL, PRIMARY KEY (User)); 
    #退出数据库
    quit
    #查看自己要依托的实体用户的UID 和 GID
    cat /etc/passwd
    #结果中有一条是我们刚刚创建的实体用户,我们的虚拟用户依托该实体用户进行相关操作,UID和GID都是1001
    结果示例: pureuser:x:1001:1001::/var/ftp:/bin/bash 
    #登录mysql,进行插入数据,其中1001需要和上面查出的结果保持一致,anonymysqluser是随意起的名字,密码随意,一会测试登录使用
    use pureftpd; #选择数据库
    # 插入数据,这里的加密是password加密方式,还可以是其他的md5等,需要和pureftpd-mysql.conf配置文件保持一致
    insert into users values('anonymysqluser',password('123456'),1001,1001,'/var/ftp'); 
    

    (4)修改pure-ftpd.conf的配置文件

    vim /etc/pure-ftpd/pure-ftpd.conf
    MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf #取消注解,使用mysql配置
    PureDB /etc/pure-ftpd/pureftpd.pdb #添加注解,使其不起作用,防止冲入
    

    (5)修改对应的mysql的配置文件 (易错点,认真阅读注解)

    vim /etc/pure-ftpd/pureftpd-mysql.conf
    MYSQLServer     127.0.0.1    #跟MYSQLSocket互斥,用一个就行,建议使用该参数
    #MYSQLSocket     /var/lib/mysql/mysql.sock #该参数默认是开启的,需要加上注解关闭,使用上面的参数
    MYSQLPort       3306
    MYSQLUser       root         #mysql连接用户
    MYSQLPassword   123456       #mysql连接密码
    MYSQLDatabase   pureftpd     #数据库名称,需要和创建数据库时的名称保持一致
    MYSQLCrypt      password     #加密函数,需要和插入insert语句中使用的加密函数保持一致
    

    (6)登录测试上传和下载

    systemctl restart pure-ftpd
    

    在这里插入图片描述

    cs