溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Pureftpd和PostgreSQL聯(lián)合怎么使用

發(fā)布時間:2021-10-29 16:12:31 來源:億速云 閱讀:182 作者:小新 欄目:系統(tǒng)運維

小編給大家分享一下Pureftpd和PostgreSQL聯(lián)合怎么使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Pureftpd是一款在多種類Unix上使用并符合GPL協(xié)議的原代碼開放的軟件。那他和PostgreSQL聯(lián)合使用是怎么樣的看下文。

首先,我們應(yīng)該清楚PostgreSQL 是什么?PostgreSQL 是下一代 DBMS 的研究原型 POSTGRES 數(shù)據(jù)庫管理系統(tǒng)的增強版。PostgreSQL 在保持 POSTGRES 的強大的數(shù)據(jù)模型和豐富的數(shù)據(jù)類型的基礎(chǔ)上,用一個擴展了的 SQL 子集取代了原先的 PostQuel 查詢語言。PostgreSQL 是自由的并且所有源代碼都可以獲得。

PostgreSQL 的開發(fā)由參加 PostgreSQL 開發(fā)郵件列表的一個開發(fā)人員小組進行。目前的協(xié)調(diào)人是 Marc G. Fournier (scrappy@postgreSQL.org )。這個隊伍現(xiàn)在負責(zé) PostgreSQL 的所有開發(fā)。

PostgreSQL 1.01 的作者是 Andrew Yu 和 Jolly Chen。還有許多其他人為移植,測試,調(diào)試和增強代碼做了大量貢獻。PostgreSQL 的最初起源 Postgres,是在加州大學(xué)伯克利分校的 Michael Stonebraker 教授的指導(dǎo)下,由許多研究生,本科生和編程職員完成的。

這個軟件最初在伯克利的名字是 Postgres。在 1995 年,當(dāng)增加了 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 & //啟動數(shù)據(jù)庫

$ /usr/local/pgsql/bin/createdb test //創(chuàng)建一個數(shù)據(jù)庫test

$ /usr/local/pgsql/bin/psql test //用交互 psql 工具進入數(shù)據(jù)庫test

$ 退出 psql ,用 \q 命令

設(shè)置環(huán)境變量 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,并保存退出,執(zhí)行

$ source .bash_profile

整體看起來應(yīng)該是如下:

# .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 //查看現(xiàn)有數(shù)據(jù)庫

$ 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, //這個參數(shù)沒用上

"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');

這樣,數(shù)據(jù)庫就建立完成了,然后我們配置pureftpd-pgsql.conf 文件

# vi /usr/local/pureftpd/etc/pureftpd-pgsql.conf

這個和我們前面看到的mysql的配置文件類似,修改也類似,我這里就不贅述了。

注意:在pureftpd-pgsql.conf中密碼加密我用的是

PGSQLCrypt md5

我沒有看到crypt或encrypt函數(shù),如果大家有這方面知識的話,歡迎探討。

另外一個非常重要,你需要修改

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數(shù)據(jù)庫認證時的權(quán)限相同。

以上是“Pureftpd和PostgreSQL聯(lián)合怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI