当前位置: 主页 > 服务器技术 > Ftp服务器 > 用MySQL管理PureFTPd用户

用MySQL管理PureFTPd用户

时间:2009-11-2来源:互联网 点击:
一、PureFTPd和MySQL的结合
自从0.99.1版本开始,PureFTPd就内置了MySQL数据库支持。如果启用了MySQL数据库支持,那么所有的用户信息都可以从mysql数据库中获取。这样就可以用数据库来管理用户了,特别是在用户数量巨多时。

安装了MySQL数据库服务器端(具体安装步骤见相关文章)后,我们还需要下面的一些步骤完成mysql的支持。

1、建立用户数据库。

在mysql中建立名字为“pureftpd”的数据库。

# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.0.67-log FreeBSD port: mysql-server-5.0.67_1

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| phpmyadmin         |

| test               |

+--------------------+

4 rows in set (0.04 sec)


mysql> create database pureftpd;

Query OK, 1 row affected (0.01 sec)


mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| phpmyadmin         |

| pureftpd           |

| test               |

+--------------------+

5 rows in set (0.01 sec)

mysql>

2、建立用户表。


mysql> use pureftpd;

Database changed

mysql> CREATE TABLE users (

    ->   User VARCHAR(16) BINARY NOT NULL,

    ->   Password VARCHAR(64) BINARY NOT NULL,

    ->   Uid INT(11) NOT NULL default ‘-1‘,

    ->   Gid INT(11) NOT NULL default ‘-1‘,

    ->   Dir VARCHAR(12 BINARY NOT NULL,

    ->   PRIMARY KEY  (User)

    -> );

Query OK, 0 rows affected (0.03 sec)



mysql>

3、添加用户。

mysql> INSERT INTO users VALUES("jack","jack",2000,2000,"/home/ftp";           Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM users;

+------+----------+------+------+-----------+

| User | Password | Uid  | Gid  | Dir       |

+------+----------+------+------+-----------+

| jack | jack     | 2000 | 2000 | /home/ftp |

+------+----------+------+------+-----------+

1 row in set (0.01 sec)

mysql>

如果这时我们用“jack”用户登录FTP,会提示错误。还需要添加 PureFTPd-mysql 文件的支持。

4、添加mysql配置文件。

将配置文件的样例文件复制为配置文件:

# cp /usr/local/etc/pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf

修改 mysql 配置文件以适合使用。

# ee /usr/local/etc/pureftpd-mysql.conf

  将其中的数据库用户名和密码更改为你指定的用户名和密码。

# Mandatory : user to bind the server as.

MYSQLUser       root

# Mandatory : user password. You must have a password.

MYSQLPassword   rootpass

5、开启mysql支持。

# ee /usr/local/etc/pure-ftpd.conf

MySQLConfigFile      /usr/local/etc/pureftpd-mysql.conf  //mysql配置文件路径

重启服务器后,就可以用“jack”用户登录了。

注意,要有“/home/ftp”主目录,要不然是无法登录的。

心得:mysql数据库中的“Uid”和“Gid”字段指的是Unix系统用户的uid或gid。“User”字段就是mysql的虚拟用户了。如果“/home/ftp”的属主是ftpuser,其uid/gid是1003/1001,权限为755。那么“jack”对“/home/ftp”目录的访问权限就是rx。也就是mysql数据库中的“Uid”和“Gid”字段决定用户的权限。
  
二、pureftpd与其它工具的结合
Pureftpd还可以与LDAP、TLS、PostgreSQL等工具结合,具体的使用方法请参看其它文章。

值得一提的是,与数据库结合的意义在于可以扩展应用。

比如:

l         用php编写前台页面管理用户,让用户自己修改密码。这个可以应用于虚拟主机管理界面中。

l         将用户数据表与论坛或网站的用户数据表整合,可以在论坛或网站中实现 FTP 功能。

l         将用户数据表与邮件服务的用户数据表整合,可以实现邮件系统中的网盘功能,就像163邮箱中的网盘一样。

诸如此类应用,等等。
站长资讯网
. TAG: PUREFTPD MYSQL 用户 管理

查看[用MySQL管理PureFTPd用户]所有评论
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:
相关文章

推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 网站留言