文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Pureftpd和PostgreSQL联合怎么使用

2023-06-16 20:58

关注

小编给大家分享一下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联合怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯