這篇文章主要講解了“如何使用Pureftpd進行FTP權(quán)限和磁盤配額管理”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何使用Pureftpd進行FTP權(quán)限和磁盤配額管理”吧!
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出文山州免費做網(wǎng)站回饋大家。
Pureftpd是一款快速,高質(zhì)量,功能齊全的ftp服務(wù)器,最重要的是可以支持設(shè)置客戶端默認編碼,那如何使用Pureftpd進行FTP權(quán)限和磁盤配額管理,看下文。
我們選用Pure-ftpd作為工具.
安裝
Pure-ftpd是一個成熟的ftp工具,apt-get已經(jīng)有打好的包了.我們直接通過apt-get就能很方便的安裝.
apt-get install pure-ftpd-MySQL
配置
在數(shù)據(jù)庫里邊建一個庫,這里用之前的hosting數(shù)據(jù)庫.用以下語句創(chuàng)建一張表:
CREATE TABLE users(
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
這張表將用來存放ftp用戶的相關(guān)信息.
然后我們需要修改pure-ftpd-mysql的配置文件,告訴pure-ftpd數(shù)據(jù)庫的相關(guān)信息.
這里假設(shè)大家已經(jīng)配置好了mysql,并有一個可用的賬號.
vim /etc/pure-ftpd/db/mysql.conf
放入以下配置
#賬號信息 按自己情況修改
MYSQLServer 127.0.0.1
MYSQLPort 3306
MYSQLSocket /var/run/mysqld/mysqld.sock
MYSQLUser easy
MYSQLPassword ******
MYSQLDatabase hosting
#加密方式
MYSQLCrypt md5
#取得數(shù)據(jù)的SQL語句
#用戶授權(quán)
MYSQLGetPW SELECT Password FROM users WHERE User="\L"
MYSQLGetUID SELECT Uid FROM users WHERE User="\L"
MYSQLGetGID SELECT Gid FROM users WHERE User="\L"
MYSQLGetDir SELECT Dir FROM users WHERE User="\L"
#文件大小和個數(shù)限制
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="\L"
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="\L"
#上行和下行帶寬限制
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"
這樣pure-ftpd就知道如何從mysql里邊取數(shù)據(jù)了.
為了得到上邊出現(xiàn)的GID和UID,我們需要為ftp創(chuàng)建一個虛擬賬號.FTP的全部用戶共用這一個虛擬賬號的UID和GID,而不需要為每個FTP用戶創(chuàng)建系統(tǒng)用戶.
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
我們創(chuàng)建了GID為2001的ftpgroup組和UID為2001的ftpuser用戶.現(xiàn)在可以往數(shù)據(jù)表中添加數(shù)據(jù)了.QuotaSize的單位是M,目錄指向我們在mod-myvhost同樣的路徑.
然后我們將用戶鎖定在他自己的目錄下,不允許他通過ftp訪問到別人的目錄:
echo yes > /etc/pure-ftpd/conf/ChrootEveryone
當(dāng)指定目錄不存在時,自動創(chuàng)建目錄
echo yes > /etc/pure-ftpd/conf/CreateHomeDir
設(shè)置完成.重啟pure-ftpd.
/etc/init.d/pure-ftpd-mysql restart
全部配置都完成了.我們上傳文件試試.
登陸成功,上傳文件提示沒權(quán)限.這是因為/data0/myapphost的屬性設(shè)定造成的.將整個目錄改為ftpuser的就可以了
chown -R ftpuser:ftpgroup /data0/myapphost
修改屬性后,已經(jīng)可以上傳文件了.試試配額限制:
錯誤:> [2010-1-27 22:47:12] 無法寫入數(shù)據(jù) socket。Socket 錯誤 = #10054。
[2010-1-27 22:47:12] 550-Quota exceeded: abc.zip won't be saved
550-6 files used (120%) - authorized: 5 files
550 6974 Kbytes used (681%) - authorized: 1024 Kb
錯誤:> [2010-1-27 22:47:12] 請求的操作未執(zhí)行(如,文件或目錄未找到,不能訪問)。
錯誤:> [2010-1-27 22:47:43] 無法寫入數(shù)據(jù) socket。Socket 錯誤 = #10054。
[2010-1-27 22:47:43] 550-Quota exceeded: abc.zip won't be saved
550-4 files used (80%) - authorized: 5 files
550 3954 Kbytes used (386%) - authorized: 1024 Kb
錯誤:> [2010-1-27 22:47:43] 請求的操作未執(zhí)行(如,文件或目錄未找到,不能訪問)。
從錯誤信息可以看出,配額已經(jīng)生效了.當(dāng)配置修改后,已經(jīng)登錄的ftp用戶需要重新登陸后才會生效.
感謝各位的閱讀,以上就是“如何使用Pureftpd進行FTP權(quán)限和磁盤配額管理”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何使用Pureftpd進行FTP權(quán)限和磁盤配額管理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
當(dāng)前文章:如何使用Pureftpd進行FTP權(quán)限和磁盤配額管理
文章路徑:http://muchs.cn/article46/joooeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、虛擬主機、移動網(wǎng)站建設(shè)、網(wǎng)站策劃、營銷型網(wǎng)站建設(shè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)