共计 3855 个字符,预计需要花费 10 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 Pureftpd 和 PostgreSQL 联合怎么使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Pureftpd 是一款在多种类 Unix 上使用并符合 GPL 协议的原代码开放的软件。那他和 PostgreSQL 联合使用是怎么样的看下文。
首先,我们应该清楚 PostgreSQL 是什么?PostgreSQL 是下一代 DBMS 的研究原型 POSTGRES 数据库管理系统的增强版。PostgreSQL 在保持 POSTGRES 的强大的数据模型和丰富的数据类型的基础上,用一个扩展了的 SQL 子集取代了原先的 PostQuel 查询语言。PostgreSQL 是自由的并且所有源代码都可以获得。
PostgreSQL 的开发由参加 PostgreSQL 开发邮件列表的一个开发人员小组进行。目前的协调人是 Marc G. Fournier (scrappy@postgreSQL.org)。这个队伍现在负责 PostgreSQL 的所有开发。
PostgreSQL 1.01 的作者是 Andrew Yu 和 Jolly Chen。还有许多其他人为移植,测试,调试和增强代码做了大量贡献。PostgreSQL 的最初起源 Postgres,是在加州大学伯克利分校的 Michael Stonebraker 教授的指导下,由许多研究生,本科生和编程职员完成的。
这个软件最初在伯克利的名字是 Postgres。在 1995 年,当增加了 SQL 功能后,它的名字改成 Postgres95。在 1996 年末,才改名为 PostgreSQL。目前 *** 的版本是 8.1.5。
安装 PostgreSQL
我们先从 www.postgresql.org 下在 *** 版本的 PostgreSQL,postgresql-8.1.5.tar.gz,解压缩
# tar xzvf postgresql-8.1.5.tar.gz # cd postgresql-8.1.5
按照快速安装方法安装
# ./configure # gmake // 一定要记得用 GNU make # make install # adduser postgres // 同时也添加了 postgres 组 # mkdir /usr/local/pgsql/data # chown postgres /usr/local/pgsql/data # su - postgres
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data logfile 2 1 // 启动数据库
$ /usr/local/pgsql/bin/createdb test // 创建一个数据库 test
$ /usr/local/pgsql/bin/psql test // 用交互 psql 工具进入数据库 test
$ 退出 psql,用 \q 命令
设置环境变量 LD_LIBRARY_PATH
$ vi .bash_profile
加入
LD_LIBRARY_PATH=/usr/local/pgsql/lib
并在 PATH=$PATH:$HOME/bin 后面加入
:/usr/local/pgsql/bin
在 export 后加入 LD_LIBRARY_PATH,并保存退出,执行
$ source .bash_profile
整体看起来应该是如下:
# .bash_profile # Get the aliases and functions
if [-f ~/.bashrc]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export PATH LD_LIBRARY_PATH
unset USERNAME
$ psql -l // 查看现有数据库
$ psql // 进入 psql 交互模式
=# CREATE USER pureftpd WITH PASSWORD pureftpd
=# CREATE DATABASE pureftpd WITH OWNER = pureftpd TEMPLATE = template0 ENCODING = EUC_CN
=# \q
$ psql -l
List of databases
Name | Owner | Encoding
———–+———-+———-
postgres | postgres | UTF8
pureftpd | pureftpd | EUC_CN
template0 | postgres | UTF8
template1 | postgres | UTF8
test | postgres | UTF8
(5 rows)
$ createlang plpgsql pureftpd
$ psql -U pureftpd
pureftpd=
DROP TABLE users CASCADE;
DROP SEQUENCE users_id_seq CASCADE;
CREATE TABLE users (
id integer DEFAULT nextval(users_id_seq ::text) NOT NULL,
User character varying(16) NOT NULL default ,
status smallint default 0, // 这个参数没用上
Password character varying(64) NOT NULL default ,
Uid character varying(11) DEFAULT -1 NOT NULL,
Gid character varying(11) DEFAULT -1 NOT NULL,
Dir character varying(128) NOT NULL,
comment text,
ipaccess character varying(15) DEFAULT * NOT NULL,
ULBandwidth smallint default 0,
DLBandwidth smallint default 0,
QuotaSize integer DEFAULT 0,
QuotaFiles integer DEFAULT 0,
ULRatio smallint default 0,
DLRatio smallint default 0,
create_date timestamp with time zone DEFAULT now() NOT NULL,
modify_date timestamp without time zone DEFAULT now() NOT NULL
);
CREATE SEQUENCE users_id_seq;
CREATE INDEX users_index ON users (id, User
ALTER TABLE ONLY users ADD CONSTRAINT users_pkey PRIMARY KEY (id);
ALTER TABLE ONLY users ADD CONSTRAINT users_id_key UNIQUE (id, User
pureftpd= \d
List of relations
Schema | Name | Type | Owner
——–+————–+———-+———-
public | users | table | pureftpd
public | users_id_seq | sequence | pureftpd
(2 rows)
pureftpd= INSERT INTO users VALUES (1, test , 1, md5( test), 2000 , 2000 , /var/ftp/test , , * , 0, 0, 0, 0, 0, 0, 2006-11-27 14:30:00 , 2006-11-27 14:30:00
这样,数据库就建立完成了,然后我们配置 pureftpd-pgsql.conf 文件
# vi /usr/local/pureftpd/etc/pureftpd-pgsql.conf
这个和我们前面看到的 mysql 的配置文件类似,修改也类似,我这里就不赘述了。
注意:在 pureftpd-pgsql.conf 中密码加密我用的是
PGSQLCrypt md5
我没有看到 crypt 或 encrypt 函数,如果大家有这方面知识的话,欢迎探讨。
另外一个非常重要,你需要修改
PGSQLGetRatioUL SELECT ULRatio FROM users WHERE User= \L
PGSQLGetRatioDL SELECT DLRatio FROM users WHERE User= \L
为
PGSQLGetRatioUL SELECT ULRatio FROM users WHERE User = \L
PGSQLGetRatioDL SELECT DLRatio FROM users WHERE User = \L
格式,否则是不能认证的。
修改 pure-ftpd.conf 文件,和 mysql 一样,就改一条
PGSQLConfigFile /usr/local/pureftpd/etc/pureftpd-pgsql.conf
重新启动 pureftpd 程序后测试,和用 mysql 数据库认证时的权限相同。
以上是“Pureftpd 和 PostgreSQL 联合怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!