use proftpd; > create table ftpusers ( > userid TEXT NOT NULL, > passwd TEXT NOT NULL, > uid INT NOT NULL, > gid INT NOT NULL, > home TEXT, > shell TEXT > ); 此表格是為了用戶認(rèn)證所需要的。全力打造多功能FreeBSD服務(wù)器( 二 )。" />

日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

全力打造多功能FreeBSD服務(wù)器( 二 )



> use proftpd;
> create table ftpusers (
> userid TEXT NOT NULL,
> passwd TEXT NOT NULL,
> uid INT NOT NULL,
> gid INT NOT NULL,
> home TEXT,
> shell TEXT
> );
此表格是為了用戶認(rèn)證所需要的,其中userid、passwd是必不可少的,userid是用做FTP服務(wù)的用戶名;passwd是指此用戶的密碼;uid是系統(tǒng)用戶的ID,也就是所映射的系統(tǒng)用戶;gid是所屬系統(tǒng)組的ID;home是該用戶所在的HOME目錄;shell可以為該用戶指定相應(yīng)的shell 。當(dāng)然你可以建立更多的字段,例如:用來記錄用戶登錄次數(shù)的count,或者是日期的date,如果你對配置熟悉了之后,你可以根據(jù)自己的喜歡添加更多的功能 。在此就不多講 。
3、如果你想需要所有的功能,你還可以添加另外一個(gè)需要的表:ftpgroups,也就是確定組的表格,當(dāng)然也可以不用,這里講一個(gè)它的格式:
create table ftpgroups (
groupname TEXT NOT NULL,
gid SMALLINT NOT NULL,
members TEXT NOT NULL
);
其中g(shù)roupname是組的名稱,gid是系統(tǒng)組的ID,members是組的成員 。注意:多成員,他們之間要用逗號隔開,不能使用空格 。

為空表格插入記錄:
INSERT INTO ftpusers (userid, passwd, uid, gid, home, shell)
values ("test", "test", "2000", ‘2000", "/home/ftp/test", " ");

按此格式你可以插入這每一個(gè)用戶添加一個(gè)記錄 。
如果你要想應(yīng)用到更多的功能,且建立了組的表格,你也要為此添加記錄,不過一定要注意在members的字段多個(gè)成員一定要用逗號隔開 。

為FTP用戶建立相應(yīng)的系統(tǒng)用戶 。
在本例中,只整個(gè)FTP服務(wù)只提供一個(gè)有效的系統(tǒng)用戶ftpusers和組ftpgroups,當(dāng)然你也可以設(shè)置多個(gè)系統(tǒng)用戶 。但出于安全的考慮,我只設(shè)一個(gè),用他來啟動FTP daemon,并把所有的FTP用戶映射到這個(gè)用戶 。

先建立FTPGRP組:
# pw groupadd ftpgroups –g 2000
建立FTPUSR用戶:
# pw adduser ftpusers –u 2000 –g 2000 –d /home/ftp –s /nonexistent

為FTPUSR建立HOME,把所有的FTP user 活動空間全放在此目錄下:
# mkdir /home/ftp
# chown ftpusers /home/ftp
# chgrp ftpgroups /home/ftp

現(xiàn)在可以在mysql的FTP數(shù)據(jù)庫中建立磁盤限制數(shù)據(jù)表了,呵呵,利用phpmyadmin幫忙就可以了:

CREATE TABLE quotalimits (
name VARCHAR(30),
quota_type ENUM("user", "group", "class", "all") NOT NULL,
per_session ENUM("false", "true") NOT NULL,
limit_type ENUM("soft", "hard") NOT NULL,
bytes_in_avail FLOAT NOT NULL,
bytes_out_avail FLOAT NOT NULL,
bytes_xfer_avail FLOAT NOT NULL,
files_in_avail INT UNSIGNED NOT NULL,
files_out_avail INT UNSIGNED NOT NULL,
files_xfer_avail INT UNSIGNED NOT NULL
);

CREATE TABLE quotatallies (
name VARCHAR(30) NOT NULL,
quota_type ENUM("user", "group", "class", "all") NOT NULL,
bytes_in_used FLOAT NOT NULL,
bytes_out_used FLOAT NOT NULL,
bytes_xfer_used FLOAT NOT NULL,
files_in_used INT UNSIGNED NOT NULL,
files_out_used INT UNSIGNED NOT NULL,
files_xfer_used INT UNSIGNED NOT NULL
);

說明一下,quotatallies表不需要作修改,它記錄了用戶當(dāng)前的磁盤使用情況,由程序自動記錄
要注意的是quotalimits 表中一些字段的含意
quota_type 磁盤限額的鑒別,可以設(shè)置單各用戶,也可以設(shè)置一各組中的全部用戶,還可以設(shè)置全部用戶
bytes_in_avail 上傳最大字節(jié)數(shù),就是FTP用戶空間容量 (設(shè)置個(gè)字段的時(shí)候是以byte(字節(jié))為單位,如果要限額在10M,那就是10240000,下面也一樣)
bytes_out_avail 下載最大字節(jié)數(shù),需要注意的是,這個(gè)字段中記錄的是用戶總共能從服務(wù)器上下載多少數(shù)據(jù),數(shù)據(jù)是累計(jì)的 。
bytes_xfer_avail 總共可傳輸?shù)奈募淖畲笞止?jié)數(shù)(上傳和下載流量)需要注意的是,這個(gè)字段中記錄的是用戶總共能傳輸文件的最大字節(jié)數(shù),數(shù)據(jù)是累計(jì)的 。

推薦閱讀