FTP服务器之pure

Stella981
• 阅读 756

1.    Mysql的连接      

 [root@localhost ~]# mysql -uroot -pxxxxxx(your mysql password)

2.    建立mysql认证数据库

mysql>create database pureftpd;
mysql>grant privileges all on pureftpd.* to pureftpuser@localhost identified by 'pureftpuser';
mysql>flush privileges;
mysql>use pureftpd;
Mysql> create table if not exists `users`(
    `user` varchar(16) not null default '',
    `password` varchar(32) not null default '',
    `uid` int(11) not null,
    `gid` int (11) not null,
    `dir` varchar(128) not null default '',
    `quotafiles` int(10) not null default '500',
    `quotasize` int(10) not null default '30',
    `ulbandwidth` int(10) not null default '80',
    `dlbandwidth` int(10) not null default '80',
    `ipaddress` varchar(15) not null default '*',
    `comment` tinytext,
    `status` enum('0','1') not null default '1',
    `ulratio` smallint(5) not null default '1',
    `dlratio` smallint(5) not null default '1',
    primary key (`user`),
    unique key `user` (`user`)
    )engine=innodb default charset=utf8;
mysql> show tables;
+--------------------+
| Tables_in_pureftpd |
+--------------------+
| users              |
+--------------------+
1 row in set (0.00 sec)
mysql> desc users;
+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| user        | varchar(16)   | NO   | PRI |         |       |
| password    | varchar(32)   | NO   |     |         |       |
| uid         | int(11)       | NO   |     | NULL    |       |
| gid         | int(11)       | NO   |     | NULL    |       |
| dir         | varchar(128)  | NO   |     |         |       |
| quotafiles  | int(10)       | NO   |     | 500     |       |
| quotasize   | int(10)       | NO   |     | 30      |       |
| ulbandwidth | int(10)       | NO   |     | 80      |       |
| dlbandwidth | int(10)       | NO   |     | 80      |       |
| ipaddress   | varchar(15)   | NO   |     | *       |       |
| comment     | tinytext      | YES  |     | NULL    |       |
| status      | enum('0','1') | NO   |     | 1       |       |
| ulratio     | smallint(5)   | NO   |     | 1       |       |
| dlratio     | smallint(5)   | NO   |     | 1       |       |
+-------------+---------------+------+-----+---------+-------+
14 rows in set (0.15 sec)

3    创建pureftp虚拟用户

mysql> insert into users values ('bev','pureftpuser','2000','2000','/var/pureftp/bev','500','30','30','50','*','','1','1','1');
mysql> select * from users\G;
*************************** 1. row ***************************
       user: bev
   password: 5bc915d575ad9c57aa0fc6e1fd719615
        uid: 2000
        gid: 2000
        dir: /var/pureftp/bev
 quotafiles: 500
  quotasize: 30
ulbandwidth: 30
dlbandwidth: 50
  ipaddress: *
    comment: 
     status: 1
    ulratio: 1
    dlratio: 1
1 row in set (0.11 sec)

ERROR: 
No query specified

4.    注意mysql账户密码的加密方式需要与pureftp支持的机密方式相吻合,不然会出现530错误

mysql> update users set password=md5('pureftpuser') where user='bev';

        我在这里选择的MD5加密方式,那么在下面配置pureftp的加密方式时一定选择MD5。

5.    修改pureftp关于mysql模块的配置文档

[root@localhost ~]# vi /usr/local/pure-ftpd/etc/pure-ftpd.conf 
# MySQL configuration file (see README.MySQL)

MySQLConfigFile              /usr/local/pure-ftpd/etc/pureftpd-mysql.conf

保存退出
[root@localhost ~]# vi /usr/local/pure-ftpd/etc/pureftpd-mysql.conf 
# Optional : define the location of mysql.sock if the server runs on this host.
MYSQLSocket     /var/lib/mysql/mysql.sock(设置成你的mysql.sock路径)
# Mandatory : user to bind the server as.
MYSQLUser       pureftpuser
# Mandatory : user password. You must have a password.
MYSQLPassword   pureftpuser
# Mandatory : database to open.
MYSQLDatabase   pureftpd
# Mandatory : how passwords are stored
# Valid values are : "cleartext", "crypt", "sha1", "md5" and "password"
# ("password" = MySQL password() function)
# You can also use "any" to try "crypt", "sha1", "md5" *and* "password"
MYSQLCrypt      md5

MYSQLGetPW      SELECT Password FROM users WHERE User='\L'
MYSQLGetUID     SELECT Uid FROM users WHERE User='\L'
MYSQLGetGID     SELECT Gid FROM users WHERE User='\L'
MYSQLGetDir     SELECT Dir FROM users WHERE User='\L'
MySQLGetQTAFS   SELECT QuotaFiles FROM users WHERE User='\L'
MySQLGetQTASZ   SELECT QuotaSize FROM users WHERE User='\L'
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User='\L'
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User='\L'
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User='\L'
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User='\L'

6.    重启pureftp,测试刚刚建立的bev是否生效了。

好了,下篇博客,将简单总结下pureftp搭建过程中遇见的问题,及其解决办法。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这