实验任务
1. .本地用户搭建
2. 匿名用户搭建
3. 虚拟用户搭建
一、安装下载pure-ftpd软件包
1、下载软件包
yum install epel-release(默认源无pure-ftpd)
yum install -y pure-ftpd
2、关闭防火墙和SELinux
systemctl stop firewalld
setenforce 0
3、开启服务
systemctl start pure-ftpd
二、本地用户搭建(本地用户可以直接访问)
1、创建本地用户。
useradd hehe //可以通过-d指定用户的家目录
passwd hehe
2、创建测试文件。
vim /home/hehe/a.txt
Windows则在cmd所在路径下创建测试文件b.txt
3、重启服务,进行登录测试。
systemctl restart pure-ftpd
三、匿名用户搭建
1、修改配置文件,打开上传权限。
vim /etc/pure-ftpd/pure-ftpd.conf
修改 AnonymousCantUpload yes 为 no
2、创建测试文件并赋权限。
vim /var/ftp/a.txt
chmod -R 777 /var/ftp/
Windows则在cmd所在路径下创建测试文件b.txt
3、重启服务,进行登录测试。
systemctl restart pure-ftpd
四、虚拟用户搭建
1、创建账户,配置权限。
groupadd ftpgroup
useradd -g ftpgroup -s /sbin/nologin -d /var/ftp -M ftpuser
2、创建虚拟账户,设置密码。
pure-pw useradd haha -u ftpuser -d /var/ftp –m
3、创建用户信息数据库文件。
pure-pw mkdb
pure-pw list #查看用户列表
pure-pw useradd user -u www -d /data/www/wordpress #添加新的ftp用户
pure-pw passwd user #修改密码
pure-pw usermod user -d /data/www/web #修改用户的上传路径
pure-pw show user #查看用户信息
4、修改配置文件,打开PureDB功能。
vim /etc/pure-ftpd/pure-ftpd.conf
打开 PureDB /etc/pure-ftpd/pureftpd.pdb
5、赋权限。
chmod -R 777 /var/ftp/
6、重启服务,进行登录测试。
systemctl restart pure-ftpd
采用Mysql认证方式
1、 安装mysql软件包
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
#开启服务
systemctl start mysqld
2、 查看mysql登录密码(默认没有密码),添加密码。
grep 'temporary password' /var/log/mysqld.log
(如果出不来密码的话 rm -rf /var/lib/mysql systemctl restart mysqld)
mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=password("12345678") where user='root';
mysql> flush privileges;
mysql> exit;
3、 创建数据库和用户表,插入测试数据。
mysql -uroot -p12345678
#创建数据库
create database pureftpd;
#切换数据库
use pureftpd;
#创建用户表
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));
#插入数据
insert into users values('test',password('123456'),1000,1000,'/var/ftp');
4、修改配置文件,采用mysql认证方式。
vim /etc/pure-ftpd/pure-ftpd.conf
打开 MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf
关闭 PureDB /etc/pure-ftpd/pureftpd.pdb
关闭 PAMAuthentication yes
5、修改mysql对应的配置文件pureftpd-mysql.conf。
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 12345678 #mysql连接密码
MYSQLDatabase pureftpd #数据库名称
MYSQLCrypt password #加密函数
6、重启服务,进行登录测试。
systemctl restart pure-ftpd
五、pure-ftp服务访问日志查看
cat /var/log/pureftpd.log
AnonymousOnly no //只允许匿名用户
NoAnonymous yes//不允许匿名用户
DontResolve yes //禁止反向解析
MaxIdleTime 10 //最大空闲10分钟
PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虚拟用户数据库
LimitRecursion 2000 8 //别表最大显示2000个文件,最深8个目录
AnonymousCanCreateDirs no //是否允许匿名用户创建目录
AnonymousCantUpload yes //不允许匿名用户上传
#NoChmod yes //不允许用户改变权限
#KeepAllFiles yes //允许用户断点续传
#MaxDiskUsage 99 //磁盘的最大利用率
IPV4Only yes //只允许使用IPV4协议
实验总结 注意关闭防火墙
在实体用户和虚拟用户演示时,要修改配置文件的内容。修改文件下的路径,对应相应的账户即可。