[134期]VSFTP服務(wù)的日常應(yīng)用及疑難問(wèn)題解析
VSFTP是一個(gè)基于GPL發(fā)布的類Unix系統(tǒng)上使用的FTP服務(wù)器軟件,它的全稱是Very Secure FTP ,從此名稱可以看出來(lái),編制者的初衷是代碼的安全。安全性是編寫(xiě)VSFTP的初衷,除了這與生俱來(lái)的安全特性以外,高速與高穩(wěn)定性也是VSFTP的兩個(gè)重要特點(diǎn)。在速度方面,使用ASCII代碼的模式下載數(shù)據(jù)時(shí),VSFTP的速度是Wu-FTP的兩倍,如果Linux主機(jī)使用2.4.*的內(nèi)核,在千兆以太網(wǎng)上的下載速度可達(dá)86MB/S。在穩(wěn)定方面,VSFTP就更加的出色,VSFTP在單機(jī)(非集群)上支持4000個(gè)以上的并發(fā)用戶同時(shí)連接,根據(jù)Red Hat的Ftp服務(wù)器(ftp.redhat.com)的數(shù)據(jù),VSFTP服務(wù)器可以支持15000個(gè)并發(fā)用戶
VSFTP集合了高效易配置易管理、高安全性為一身,市場(chǎng)應(yīng)用十分廣范,很多國(guó)際性的大公司和自由開(kāi)源組織在使用,如:Red Hat, Suse,Debian,OpenBSD。
本期門(mén)診主要內(nèi)容就是討論VSFTP在實(shí)際使用環(huán)境中遇到的各種問(wèn)題,以及如何與整體網(wǎng)絡(luò)環(huán)境融合,服務(wù)器和數(shù)據(jù)安全等問(wèn)題。希望本次門(mén)診能讓大家充分利用VSFTP的性能,降低VSFTP服務(wù)器的安全風(fēng)險(xiǎn),解決大家平時(shí)遇到的疑難問(wèn)題。
技術(shù)門(mén)診是51CTO社區(qū)品牌欄目,每周邀請(qǐng)一位客座專家,為廣大技術(shù)網(wǎng)友解答疑問(wèn)。從熱門(mén)技術(shù)到前沿知識(shí),從技術(shù)答疑到職業(yè)規(guī)劃。每期一個(gè)主題,站在最新最熱的技術(shù)前沿為你引航!
本期技術(shù)門(mén)診我們邀請(qǐng)到微軟最有價(jià)值專家(MVP),高級(jí)講師宋楊、王旭忠兩位專家。以linux下vsftp為討論點(diǎn),和大家討論交流vsftp配置管理中遇到的問(wèn)題及相應(yīng)的解決方案。
姓 名:宋楊
擅長(zhǎng)領(lǐng)域:服務(wù)器,網(wǎng)絡(luò)
微軟最有價(jià)值專家(MVP),網(wǎng)絡(luò)技術(shù)高級(jí)講師。熟悉Windows / Linux服務(wù)搭建,廣域網(wǎng)技術(shù),Voip,Cisco / 華為網(wǎng)絡(luò)技術(shù)。多年大型企業(yè)網(wǎng)站建設(shè)及系統(tǒng)集成經(jīng)驗(yàn)。擅長(zhǎng)ERP、CRM系統(tǒng)部署,曾長(zhǎng)期致力于汽車服務(wù)行業(yè)的信息化解決方案。有著豐富的微軟及 Sap公司系統(tǒng)產(chǎn)品實(shí)施及部署經(jīng)驗(yàn)。項(xiàng)目經(jīng)驗(yàn):成功整合過(guò)Windows、IBM、SAP、騰訊E、用友、紹興卓越軟件,北京易車等知名國(guó)內(nèi)外信息化系統(tǒng)。一汽大眾大SAP系列行業(yè)項(xiàng)目,華晨金杯售后服務(wù)信息化項(xiàng)目,鄭州日產(chǎn)ERP /CRM項(xiàng)目、上汽奇瑞ERP項(xiàng)目等。
姓 名:王旭忠
擅長(zhǎng)領(lǐng)域:Linux/Windows服務(wù)器,Exchang,SQL server,Oracle,各種防火墻
linux服務(wù)高級(jí)講師。有三年基于unix平臺(tái)的操作系統(tǒng)定制,三年ISP大型網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)項(xiàng)目經(jīng)驗(yàn)。曾擔(dān)任高新項(xiàng)目部技術(shù)主管,參與Coventive XLinux 操作系統(tǒng)網(wǎng)絡(luò)部分軟件開(kāi)發(fā)及整合,參與公司網(wǎng)絡(luò)部分案例的軟硬件方案設(shè)計(jì)及實(shí)施,參與MNARA旗下Kebi.co.kr(韓國(guó)最大論壇)郵件系統(tǒng)提供網(wǎng)站建設(shè)。
查看本期門(mén)診精彩實(shí)錄:http://doctor.51cto.com/develop-147.html
參與最新技術(shù)門(mén)診:http://doctor.51cto.com/
精選本期網(wǎng)友提問(wèn)與專家解答,以供網(wǎng)友學(xué)習(xí)參考。
Q:請(qǐng)問(wèn)VSFTP與MYSQL結(jié)合,用MYSQL增加與管理訪問(wèn)虛擬的用戶,配置過(guò)程應(yīng)如何操作?
A:主要配置如下:
1.設(shè)置VSFTPd配置文件
在vsftpd.conf文件中,加入以下選項(xiàng):
guest_enable=YES
guest_username=vuser
修改的pam_service_name=ftp
2.mysqladmin -u root password 'passw0rd'
mysql -u root -p'passw0rd'
mysql>create database vuser;
mysql>use vuser;
mysql>create table users(name char(16) binary,passwd char(16) binary);
mysql>quit
3.設(shè)置MySQL的PAM驗(yàn)證
mysql進(jìn)行pam驗(yàn)證的開(kāi)源項(xiàng)目(http://sourceforge.net/projects/pam-mysql/)。首先從網(wǎng)站下載它的程序包pam_myql-0.5.tar.gz,復(fù)制到/root目錄中。在編譯安裝之前,要確保mysql-devel的RPM包已經(jīng)安裝在你的機(jī)器上,如果沒(méi)有請(qǐng)從RHL安裝光盤(pán)中安裝該包。然后,執(zhí)行以下命令:
[root@hpe45 root]#tar xvzf pam_mysql-0.5.tar.gz
[root@hpe45 root]#cd pam_mysql
[root@hpe45 pam_mysql]#make
[root@hpe45 pam_mysql]#make install
make install這一步可能會(huì)出現(xiàn)錯(cuò)誤,那只好手動(dòng)將該目錄下生成的pam_mysql.so復(fù)制到/lib/security目錄下。
接下來(lái),我們要設(shè)置VSFTPd的PAM驗(yàn)證文件。打開(kāi)/etc/pam.d/ftp文件,加入以下內(nèi)容:
auth required pam_mysql.so user=root passwd=passw0rd host=localhost db=vuser table=users
usercolumn=name passwdcolumn=passwd crypt=2
account required pam_mysql.so user=root passwd=passw0rd host=localhost db=vuser
table=users usercolumn=name passwdcolumn=passwd crypt=2
上面涉及到的參數(shù),只要對(duì)應(yīng)前面數(shù)據(jù)庫(kù)的設(shè)置就可以明白它們的含義。這里需要說(shuō)明的是crypt參數(shù)。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在數(shù)據(jù)庫(kù)中;crypt=1,口令使用UNIX系統(tǒng)的DES加密方式加密后保存在數(shù)據(jù)庫(kù)中;crypt=2,口令經(jīng)過(guò)MySQL的password()函數(shù)加密后保存。
5.其余配置可以和虛擬用戶配置一樣,就是使用pam-mysql來(lái)進(jìn)行虛擬用戶的用戶添加。比較簡(jiǎn)單。
Q:老師好!我在使用service vsftpd stop命令時(shí)無(wú)法關(guān)閉ftp服務(wù),顯示如下信息:
Shutting down vsftpd: [FAILED]
查看狀態(tài)信息如下:
# service vsftpd status
vsftpd dead but subsys locked
請(qǐng)問(wèn)應(yīng)該如何解決?
問(wèn)題補(bǔ)充:刪除文件/var/lock/subsys/vsftpd 能把服務(wù)停止,但是再次啟動(dòng)vsftpd服務(wù)后的狀態(tài)還是:vsftpd dead but subsys locked
A:首先用命令netstat -tlunp|grep 21檢查有沒(méi)有其他的FTP SERVER工作,結(jié)果如下:
再看grep -i ftp /etc/xinetd.d/*結(jié)果如下:
修改/etc/xinetd.d/gssftp這個(gè)文件,disable = no改成disable = yes。然后,重啟xinetd,service xinetd restart,再重啟動(dòng)vsftpd, service vsftpd restart
Q:兩位專家:如何設(shè)置vsftpd使之可以將特定用戶限制在特定的目錄內(nèi)?
A:方法1:adduser -d 目錄 用戶名 ,在/etc/vsftpd/vsftpd.conf中加入chroot_local_user=Y(jié)ES (禁錮所有用戶的/目錄為屬主目錄)。
方法2: adduser -d 目錄 用戶名 修改/etc/vsftpd/vsftpd.conf中的chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list (vsftpd.chroot_list文件內(nèi)寫(xiě)入的用戶就限禁錮用戶的/目錄為屬主目錄),vi /etc/vsftpd.chroot_list 加入你要限制的用戶的用戶名稱即可。
Q:專家好!我新增一位使用者 test 加目錄 test 。使用cuteftp可以連上,也可以上傳及下載文檔,但是對(duì) /var/ftp/pub反而是可以下載卻無(wú)法上傳,此folder權(quán)限設(shè)為777. 我使用RPM裝FC5中的VSFTP 。謝謝專家了!
A:修改vsftpd.conf,匿名用戶創(chuàng)建文件 anon_upload_enable=YES ,匿名用戶創(chuàng)建目錄 anon_mkdir_write_enable=YES,是否允許匿名用戶登錄后執(zhí)行其他操作(刪除重命名等)anon_other_write_enable=YES
注意:/var/ftp不能出現(xiàn)other為w,否則ftp匿名無(wú)法登陸。
Q:我想請(qǐng)問(wèn)專家:在vsftpd中怎么限制IP地址。比如只要某個(gè)IP或IP段訪問(wèn)我的FTP,應(yīng)該怎么配置,是在vsftp.conf中配置還是另外哪個(gè)配置文件里?請(qǐng)專家?guī)臀乙幌隆?/FONT>
A:使用Vsftpd+tcp_wrappers控制主機(jī)和用戶訪問(wèn)tcp-wrappers的執(zhí)行順序:
先執(zhí)行hosts.allow,如果hosts.allow里面有名單,則允許名單內(nèi)的機(jī)子訪問(wèn);否則,則向下尋找hosts.deny,如果hosts.deny里面有名單,則拒絕名單內(nèi)的機(jī)子訪問(wèn),如果也沒(méi)有(即allow和deny里面都沒(méi)有名單)則允許該主機(jī)訪問(wèn)。在主機(jī)(192.168.1.102)上配置vsftpd服務(wù),使得除了192.168.1.100以外允許192.168.1.0/24網(wǎng)段的其他主機(jī)訪問(wèn)此FTP服務(wù)。
編輯/etc/hosts.allow
vsftpd:192.168.1.100:DENY
vsftpd:192.168.1.
重啟vsftpd,可達(dá)到目的
或
編輯/etc/hosts.deny
vsftpd:192.168.1.100
編輯/etc/hosts.allow
vsftpd:192.168.1.
Q:宋老師,王老師:
linux配置vsftpd服務(wù),配好之后root無(wú)法登陸。本地測(cè)試顯示如下:
[root@viv ~]# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): root
530 Permission denied.
Login failed.
遠(yuǎn)程登陸同樣報(bào)錯(cuò):
530 Permission denied.
Login failed.
還有一個(gè)問(wèn)題:為什么我的本地賬戶都無(wú)法登陸了,均顯示錯(cuò)誤:530 login incorrect。希望老師幫幫忙,謝謝啦!
A: root用戶默認(rèn)是被禁止登陸vsftpd的服務(wù)器的。方法1.去掉/etc/vsftpd.ftpusers里面的root用戶。修改vsftpd.conf里面userlist_enable=YES,userlist_deny=NO,重啟服務(wù)即可。方法2.去掉/etc/vsftpd.ftpusers里面的root用戶。去掉/etc/vsftpd.user_list里面的root用戶。登錄即可。
Q:老師,在做vsftp的時(shí)候,為什么一定要關(guān)了selinux,設(shè)置成disabled,除了不設(shè)置,還有其他的辦法嗎?還有關(guān)于selinux能不能詳細(xì)的說(shuō)一下呢? 謝謝了!
附:setsebool -P ftp_home_dir 1 這個(gè)命令就可以不用關(guān)了selinux了么?
A:這常常是因?yàn)镾ELinux不允許vsftpd線程訪問(wèn)用戶主目錄造成的。解決方法為:
使用root用戶登錄,然后執(zhí)行以下命令來(lái)賦予權(quán)限:
setsebool -P ftp_home_dir 1
然后重啟vsftpd服務(wù):
service vsftpd restart
使用用戶登錄即可
SELinux(Security-Enhanced Linux) 是美國(guó)國(guó)家安全局(NAS)對(duì)于強(qiáng)制訪問(wèn)控制的實(shí)現(xiàn),是 Linux上最杰出的新安全子系統(tǒng)。NSA是在Linux社區(qū)的幫助下開(kāi)發(fā)了一種訪問(wèn)控制體系,在這種訪問(wèn)控制體系的限制下,進(jìn)程只能訪問(wèn)那些在他的任務(wù)中所需要文件。說(shuō)下概念吧。SELinux牽扯的東西很多。這次不詳細(xì)說(shuō)了,什么時(shí)候可以做個(gè)SELinux的門(mén)診再說(shuō)。
Q:我不想讓vsftp默認(rèn)路徑是 pub,怎么讓默認(rèn)路徑改為根目錄 / ?最好能指導(dǎo)我怎么修改配置文件的辦法。vsftpd.conf中間有句話chroot_list_file=/etc/vsftpd.chroot_list是不是修改這個(gè)?謝謝老師了!
A:在vsftpd.conf中加anon_root=/var/www,另外檢查下權(quán)限然后 重起 vsftpd
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list (vsftpd.chroot_list文件內(nèi)寫(xiě)入的用戶就禁錮用戶的/目錄為屬主目錄)
Q:感覺(jué)VSFTP配置起來(lái)還是挺簡(jiǎn)單的,再深入一點(diǎn)不知道還能實(shí)現(xiàn)什么功能?
A:vsftpd大家用的也只是平常的東西,深入功能很多的:
1.證書(shū)支持
2.虛擬用戶和數(shù)據(jù)庫(kù)的結(jié)合實(shí)現(xiàn)數(shù)萬(wàn)及更多用戶訪問(wèn)及統(tǒng)計(jì)等
3.用戶詳細(xì)權(quán)限設(shè)置
4.支持大量數(shù)據(jù)訪問(wèn)的調(diào)優(yōu)
5.數(shù)據(jù)流量的控制
Q:請(qǐng)問(wèn)老師vsftp在配置過(guò)程中如何能做到:
1、只能上傳。不能下載、刪除、重命名。
2、只能下載。不能上傳、刪除、重命名。
3、只能上傳、刪除、重命名。不能下載。
4、只能下載、刪除、重命名。不能上傳。
以下是我關(guān)于這四個(gè)問(wèn)題的文章,請(qǐng)老師指點(diǎn):http://xudeqiang.blog.51cto.com/224075/170040
A:你只寫(xiě)了辦法挺獨(dú)到的,其實(shí)用虛擬用戶來(lái)做比較常用一些。那樣更加好控制用戶
Q:VSFTP需要的硬件配置如何?和Windows server 2003的文件服務(wù)器來(lái)說(shuō),兩者的優(yōu)點(diǎn)分別是?
A: 王老師:vsftpd根據(jù)linux所使用的版本來(lái)定的。最低要求cpu 66Hz以上,內(nèi)存16M以上就可以了。windows文件服務(wù)器比較適合于局域網(wǎng)內(nèi)部使用,ftp服務(wù)對(duì)interne和局域網(wǎng)內(nèi)使用都可以,而且ftp比windows文件服務(wù)器有更多的控制,比如每用戶流量限制等
A:宋老師:主要是看你的應(yīng)用,vsftp靈活性強(qiáng),所以在局域網(wǎng)環(huán)境和互聯(lián)網(wǎng)中都可以應(yīng)用。換句話說(shuō):看你的用戶數(shù)量和使用場(chǎng)景來(lái)選擇物理服務(wù)器的配置,ftp服務(wù)關(guān)心的硬件只有三個(gè)CPU(處理效率)、內(nèi)存(增加ftp業(yè)務(wù)的應(yīng)付處理性能)、硬盤(pán)(存儲(chǔ)空間),最低配置王老師已經(jīng)給了,我省了 嘎嘎。高配服務(wù)器,建議不要配置太大的內(nèi)存,多了反而浪費(fèi)。我重點(diǎn)說(shuō)說(shuō)應(yīng)用場(chǎng)景好了:
windows server 2003 的文件服務(wù)器主要應(yīng)用場(chǎng)景是小型局域網(wǎng)(廣播域越小,效率越高),他是基于SMB實(shí)現(xiàn)的,通過(guò)端口445實(shí)現(xiàn)數(shù)據(jù)連接。在局域網(wǎng)內(nèi)20臺(tái)以下PC的應(yīng)用場(chǎng)景中是比較可觀的,但,PC一旦過(guò)多就會(huì)大大降低應(yīng)用效率,因?yàn)镾MB的數(shù)據(jù)連接是采用廣播定位服務(wù)器的方式工作的,我們很熟悉的netbios協(xié)議就是這樣通過(guò)139端口定位服務(wù)器的。所以局域網(wǎng)內(nèi)PC越多(主要是對(duì)文件服務(wù)器的訪問(wèn)越頻繁)廣播就越多,從而應(yīng)用效率降低。(補(bǔ)充:也有的公司,使用VPN在互聯(lián)網(wǎng)訪問(wèn)遠(yuǎn)程分支機(jī)構(gòu)的文件服務(wù)器,這樣的應(yīng)用也是可以的。)而ftp則是單播實(shí)現(xiàn)的,所以對(duì)局域內(nèi)通訊沒(méi)有太大的影響。而且在pc臺(tái)數(shù)過(guò)多的情況下可以正常應(yīng)付大量的業(yè)務(wù)訪問(wèn)。所以在比較大規(guī)模的企業(yè)應(yīng)用場(chǎng)景,多選擇FTP作為實(shí)現(xiàn)文件服務(wù)的手段,而兼高效、廉價(jià)、安全、易管理配置于一身的VSFTP就更適合了。互聯(lián)網(wǎng)就更不用說(shuō)了。很多軟件公司checkin的時(shí)候都是使用FTP+安全驗(yàn)證機(jī)制來(lái)實(shí)現(xiàn)的。
Q:vsftp 客戶端是win xp,如何解決客戶端亂碼問(wèn)題?
A: 修改linux編碼為xp的編碼就好了,方法如下
1.修改/etc/sysconfig/i18n內(nèi)容為
LANG="zh_CN.GB2312"
SUPPORTED="zh_CN.GB2312"
2.執(zhí)行
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312
Q:老師您好,我想請(qǐng)教一下,我前兩天做了個(gè)試驗(yàn),通過(guò)機(jī)器A的VMWARE進(jìn)行虛擬Linux,開(kāi)啟SAMBA和VSFTP,然后又在機(jī)器B的VMWARE上光盤(pán)BOOT啟動(dòng)linux askmethod,通過(guò)FTP方式安裝,總是無(wú)法安裝成功。但在機(jī)器C直接安裝就沒(méi)有問(wèn)題,并且在B/C機(jī)器上測(cè)試FTP功能也正常。不知道是不是FTP不支持雙VMWARE呢還是有其他的原因,麻煩老師了!注:SAMBA和VSFTP的設(shè)置都是最基礎(chǔ)的那種,沒(méi)有權(quán)限,允許匿名登陸也可以實(shí)體登陸。
A:你最好檢查一下你的vmware的B到A的網(wǎng)絡(luò)配置,要是服務(wù)器有問(wèn)題,C是無(wú)法安裝的。
Q:老師好,我想問(wèn)的是VSFTP的權(quán)限問(wèn)題,怎么限制用戶具體上傳文件的大小,怎么限制根據(jù)下載上傳的次數(shù),適當(dāng)?shù)慕o予一定的權(quán)限的提升?謝謝老師!
A:解答第一個(gè)問(wèn)題:用戶上傳的文件大小和空間存放大小可以使用Quota進(jìn)行處理。解答第二個(gè)問(wèn)題:修改vsftpd.conf配置文件中的xferlog_enable=YES (打開(kāi)流量日志功能)xferlog_file=/var/log/vsftpd.log (日志文件存放地點(diǎn)),分析vsftpd.log文件中某文件的用戶下載次數(shù),上傳次數(shù)進(jìn)行程序控制即可。比如發(fā)現(xiàn)日志出現(xiàn)a用戶下載xxx.rar文件出現(xiàn)3次,則xxx.rar文件權(quán)限為000。
Q:看專家的解答真的很細(xì)心,很耐心。我想請(qǐng)教一個(gè)問(wèn)題,我的vsftpd使用的是anonymous_enable=NO,使用的用戶的登錄,當(dāng)時(shí)每次登陸都會(huì)等很久,大概10秒左右。于是我去抓包分析原因,發(fā)現(xiàn)client端會(huì)先使用匿名用戶登錄一次,被拒絕以后,才使用輸入的ID,這個(gè)是怎么回事?想了很多辦法,沒(méi)有解決,我就沒(méi)管他了,但是后來(lái)自己又好了。相當(dāng)郁悶啊。能請(qǐng)專家分析下原因嗎?
A:其實(shí)這個(gè)問(wèn)題是您所使用的客戶端軟件中存在緩存或者記錄造成的,與服務(wù)器沒(méi)有關(guān)系的。
Q:老師:為什么通過(guò)VSFTP上傳文件后,文件內(nèi)容的頭部都會(huì)被添加進(jìn)去一些代碼,而且有什么上傳到服務(wù)器上的文件大小和這個(gè)文件在我本機(jī)的大小是不一樣的,差的很多。
A: 在傳輸文件的時(shí)候分為文本方式和ASCII方式,如果一個(gè)二進(jìn)制文件(.exe)所使用的是默認(rèn)文本方式就會(huì)被加?xùn)|西的,你需要選擇為ASCII方式即可。
Q:還有一個(gè)問(wèn)題是關(guān)于下載的線程和速度的限制。在公網(wǎng)上分享資源,比如一個(gè)游戲客戶端,這種情況線程和速度應(yīng)該如何限制,我意思是一個(gè)ip給多少線程多少帶寬為宜。
A: 一般每ip 5個(gè)線程,帶寬64K。
Q:接11樓問(wèn)題:當(dāng)我們修改/etc/sysconfig/i18n 這個(gè)文件。比如原來(lái)是zh_CN.UTF-8 修改成 zh_CN.GB2312,這個(gè)時(shí)候 客戶端問(wèn)題沒(méi)有了!可是在服務(wù)器上我們執(zhí)行service XXX restart 的時(shí)候提示都是亂碼 如何處理呢(我在Gnome環(huán)境)?
A:選擇GNOME環(huán)境的登錄語(yǔ)言為zh_CN.GB2312就好了
Q:現(xiàn)在vsftpd不知怎么可以做每個(gè)用戶的磁盤(pán)配額。老師指點(diǎn)下。
A: 使用Quota來(lái)進(jìn)行限制。第一步 讓分區(qū)支持Quota(包含boot目錄的分區(qū)不要做,出錯(cuò))
[root@linux ~]# vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/disk1 /disk1 ext3 defaults 1 2
LABEL=/disk2 /disk2 ext3 defaults,usrquota,grpquota 1 2
/dev/hda3 swap swap defaults 0 0
注意到我們所需要設(shè)定的那個(gè)/disk2的那一行,在第四字段多了usrquota,grpquota注意,在『defaults,usrquota,grpquota』之間都沒(méi)有空格!
第二步 重啟,讓修改生效
第三步 生成quota支持文件
[root@linux ~]# quotacheck -avug
quotacheck: Scanning /dev/hdb1 [/disk2] done
quotacheck: Checked 3 directories and 4 files
[root@linux ~]# ll /disk2
-rw------- 1 root root 6144 Sep 6 11:44 aquota.group
-rw------- 1 root root 6144 Sep 6 11:44 aquota.user
第四步 配置用戶或組限制
edquota -u quser1
Disk quotas for user quser1 (uid 502):
Filesystem blocks soft hard inodes soft hard
/dev/hdb1 0 45000 50000 0 0 0
再次強(qiáng)調(diào)的是,因?yàn)槲业?disk2里面并沒(méi)有任何數(shù)據(jù)存在,所以,在上面這個(gè)表格當(dāng)中,blocks與inodes才會(huì)都是0,如果您是使用/home來(lái)進(jìn)行quota設(shè)定的,那么blocks/inodes肯定不會(huì)是0,這里要特別留意的。好了,上面特殊字體的部分就是我們的設(shè)定了,分別是45000及50000,那個(gè)單位是KBytes啦,轉(zhuǎn)成MBytes應(yīng)該是要除以1024才對(duì),不過(guò),簡(jiǎn)單算一下就好了,不用太介意!^_^。然后將quser1的設(shè)定直接復(fù)制給quser2吧!
edquota -p quser1 quser2
接下來(lái)要來(lái)設(shè)定寬限時(shí)間,還是使用edquota!
[root@linux ~]# edq!ota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hdb1 1days 7days
將時(shí)間改為1天(原本是7days改成1days),好了!查詢一下是否真的有設(shè)定進(jìn)去呢?使用quota -v來(lái)查詢:
[root@linux ~]# quota -vu quser1 quser2
Disk quotas for user quser1 (uid 502):
Filesystem blocks quota limit grace files quota limit grace
/dev/hdb1 0 45000 50000 0 0 0
Disk quotas for user quser2 (uid 503):
Filesystem blocks quota limit grace files quota limit grace
/dev/hdb1 0 45000 50000 0 0 0
特別注意到,由于我們的使用者尚未超過(guò)45MB,所以grace(寬限時(shí)間)就不會(huì)出現(xiàn)啦!這樣很夠清楚了吧?!
編輯群組可使用的空間:
[root@linux ~]# edquota -g qgroup
Disk quotas for group qgroup (gid 502):
Filesystem blocks soft hard inodes soft hard
/dev/hdb1 0 80000 90000 0 0 0
[root@linux ~]# quota -vg qgroup
Disk quotas for group qgroup (gid 502):
Filesystem blocks quota limit grace files quota limit grace
/dev/hdb1 0 80000 90000 0 0 0
這樣就設(shè)定好了group的quota!同樣的,因?yàn)檎麄€(gè)群組的總使用量還沒(méi)有到達(dá)80000KBytes,當(dāng)然那個(gè)grace就不會(huì)有任何信息顯示了!但這個(gè)地方倒是有很多朋友問(wèn)到一個(gè)小問(wèn)題,那就是『為什么我兩個(gè)用戶quser1、quser2的設(shè)定值在soft與hard分別是45/50MB,但為何你的group總量(hard)設(shè)定僅有90MB呢?』,也就是說(shuō),當(dāng)某個(gè)用戶用了50MB的量,那另一個(gè)不就最多可以使用到40MB而已。
Q:聽(tīng)說(shuō)Vsftp 不能限制用戶每次上傳下載的文件的大小,有什么方法補(bǔ)救呢?
A:vsftpd沒(méi)有這個(gè)功能。可以用ulimit來(lái)限制,rh系和debian的可以修改這個(gè)文件:
/etc/security/limits.conf
增加一行類似的:
ftpuser1 hard fsize XXXXXXX
這樣就增加了ftpuser1的文件限制。
Q:王老師,您好!您有博客嗎?我看你做網(wǎng)絡(luò)規(guī)劃和方案設(shè)計(jì),能否介紹點(diǎn)網(wǎng)站服務(wù)器方案設(shè)計(jì)或者規(guī)范設(shè)計(jì)及實(shí)施的案例。期待!!!
A:您可以隨時(shí)關(guān)注51cto網(wǎng)站和我的博客makewong.blog.51cto.com
更多精彩技術(shù)門(mén)診請(qǐng)?jiān)L問(wèn):http://doctor.51cto.com
【編輯推薦】