版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。Linux下FTP服務器vsftp配置大全超完整版-Linux下FTP服務器vsftp配置大全超完整版HYPERLINKJavaScript:d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(saveit=window.open(/storeit.aspx?t=+escape(d.title)+&u=+escap
2、e(d.location.href)+&c=+escape(t),saveit,scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes);saveit.focus();o收藏到我的網摘中,并分享給我的朋友收藏環(huán)境:RedHatAS4說明:如果不做說明,一般安裝命令均使用ROOT權限,用#表示特別說明:無以下文章介紹Liunx環(huán)境下vsftpd的三種實現方法HYPERLINK/users/cevans/vsftpd-2.0.3.tar.gzt_blank/users/cevans/vsftpd-2.0.3
3、.tar.gz,目前已經到2.0.3版本。假設我們已經將vsftpd-2.0.3.tar.gz文件下載到服務器的/home/xuchen目錄代碼:#cd/home/xuchen#tarxzvfvsftpd-2.0.3.tar.gz/解壓縮程序#cdvsftpd-2.0.3三、三種方式的實現1、匿名用戶形式實現#vibuilddefs.h編輯builddefs.h文件,文件內容如下:#ifndefVSF_BUILDDEFS_H#defineVSF_BUILDDEFS_H#undefVSF_BUILD_TCPWRAPPERS#defineVSF_BUILD_PAM#undefVSF_BUILD_S
4、SL#endif/*VSF_BUILDDEFS_H*/將以上undef的都改為define,支持tcp_wrappers,支持PAM認證方式,支持SSL#make/直接在vsftpd-2.0.3里用make編譯#ls-lvsftpd-rwxr-xr-x1rootroot86088Jun612:29vsftpd/可執(zhí)行程序已被編譯成功創(chuàng)建必要的帳號,目錄:#useraddnobody/可能你的系統(tǒng)已經存在此帳號,那就不用建立#mkdir/usr/share/empty/可能你的系統(tǒng)已經存在此目錄,那就不用建立#mkdir/var/ftp/可能你的系統(tǒng)已經存在此目錄,那就不用建立#useradd-
5、d/var/ftpftp/可能你的系統(tǒng)已經存在此帳號,那就不用建立#chownroot:root/var/ftp#chmodog-w/var/ftp請記住,如果你不想讓用戶在本地登陸,那么你需要把他的登陸SHELL設置成/sbin/nologin,比如以上的nobody和ftp我就設置成/sbin/nologin安裝vsftp配置文件,可執(zhí)行程序,man等:#install-m755vsftpd/usr/local/sbin/vsftpd-ano#install-m644vsftpd.8/usr/share/man/man8#install-m644vsftpd.conf.5/usr/shar
6、e/man/man5#install-m644vsftpd.conf/etc/vsftpd-ano.conf這樣就安裝完成了,那么我們開始進行簡單的配置#vi/etc/vsftpd-ano.conf,將如下三行加入文件listen=YESlisten_port=21tcp_wrappers=YESanon_root=/var/ftp/設置匿名用戶本地目錄,和ftp用戶目錄必須相同listen=YES的意思是使用standalone啟動vsftpd,而不是superdaemon(xinetd)控制它(vsftpd推薦使用standalone方式)#/usr/local/sbin/vsftpd-a
7、no/etc/vsftpd-ano.conf&/以后臺方式啟動vsftpd注意:每行的值都不要有空格,否則啟動時會出現錯誤,舉個例子,假如我在listen=YES后多了個空格,那我啟動時就出現如下錯誤:500OOPS:badboolvalueinconfigfilefor:listen測試搭建好的匿名用戶方式#ftpConnectedto.220(vsFTPd2.0.3)530PleaseloginwithUSERandPASS.530PleaseloginwithUSERandPASS.KERBEROS_V4rejectedasanauthenticationtypeName(:root):
8、ftp331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftppwd257/ftpquit221Goodbye.#OK,已經完成了,verynice.高級配置細心的朋友可能已經看出來我們只在默認配置文件增加了四行,就實現了FTP連接(也證明了vsftpd的易用性),那么讓我們傳個文件吧,呀!傳輸失敗了(見圖1)為什么呢?因為vsftpd是為了安全需要,/var/ftp目錄不能把所有的權限打開,所以我們這時要建一個目錄pub,當
9、然也還是需要繼續(xù)修改配置文件的。#mkdir/var/ftp/pub#chmod-R777/var/ftp/pub為了測試方便,我們先建立一個名為kill-ano的腳本,是為了殺掉FTP程序的#!/bin/basha=/bin/ps$1-A|grepvsftpd-ano|awkprint$akill-9那么現在大家看看我的匿名服務器配置文件吧anonymous_enable=YES/允許匿名訪問,這是匿名服務器必須的write_enable=YES/全局配置可寫no_anon_password=YES/匿名用戶login時不詢問口令anon_umask=077/匿名用戶上傳的文件權限是-rw-
10、anon_upload_enable=YES/允許匿名用戶上傳文件anon_mkdir_write_enable=YES/允許匿名用戶建立目錄anon_other_write_enable=YES/允許匿名用戶具有建立目錄,上傳之外的權限,如重命名,刪除dirmessage_enable=YES/當使用者轉換目錄,則會顯示該目錄下的.message信息xferlog_enable=YES/記錄使用者所有上傳下載信息xferlog_file=/var/log/vsftpd.log/將上傳下載信息記錄到/var/log/vsftpd.log中xferlog_std_format=YES/日志使用標
11、準xferlog格式idle_session_timeout=600/客戶端超過600S沒有動作就自動被服務器踢出data_connection_timeout=120/數據傳輸時超過120S沒有動作被服務器踢出chown_uploads=YESchown_username=daemon/上傳文件的屬主ftpd_banner=WFTPservice./FTP歡迎信息anon_max_rate=80000/這是匿名用戶的下載速度為80KBytes/scheck_shell=NO/不檢測SHELL現在再測試,先kill掉再啟動FTP程序#./kill-ano#/usr/local/sbin/vsf
12、tpd-ano/etc/vsftpd-ano.conf&上傳一個文件測試一下,怎么樣?OK了吧,下載剛上傳的那個文件,恩?不行,提示550Failedtoopenfile.傳輸已失??!傳輸隊列已完成1個文件傳輸失敗沒有關系,你記得咱們設置了anon_umask=077了嗎?所以你下載不了,如果你到服務器上touch一個文件(644),測試一下,是可以被下載下來的,好了,匿名服務器就說到這里了。2、本地用戶形式實現#cd/home/xuchen/vsftpd-2.0.3/進入vsftpd-2.0.3的源代碼目錄#makeclean/清除編譯環(huán)境#vibuilddefs.h繼續(xù)編輯builddef
13、s.h文件,文件內容如下:#ifndefVSF_BUILDDEFS_H#defineVSF_BUILDDEFS_H#defineVSF_BUILD_TCPWRAPPERS#defineVSF_BUILD_PAM#defineVSF_BUILD_SSL#endif/*VSF_BUILDDEFS_H*/將以上defineVSF_BUILD_PAM行的define改為undef,支持tcp_wrappers,不支持PAM認證方式,支持SSL,記住啊,如果支持了PAM認證方式,你本地用戶是不能登陸的。#make/直接在vsftpd-2.0.3里用make編譯#ls-lvsftpd-rwxr-xr-x1
14、rootroot84712Jun618:56vsftpd/可執(zhí)行程序已被編譯成功創(chuàng)建必要的帳號,目錄:#useraddnobody/可能你的系統(tǒng)已經存在此帳號,那就不用建立#mkdir/usr/share/empty/可能你的系統(tǒng)已經存在此目錄,那就不用建立#mkdir/var/ftp/可能你的系統(tǒng)已經存在此目錄,那就不用建立#useradd-d/var/ftpftp/可能你的系統(tǒng)已經存在此帳號,那就不用建立#chownroot:root/var/ftp#chmodog-w/var/ftp請記住,如果你不想讓用戶在本地登陸,那么你需要把他的登陸SHELL設置成/sbin/nologin,比如以
15、上的nobody和ftp我就設置成/sbin/nologin安裝vsftp配置文件,可執(zhí)行程序,man等:#install-m755vsftpd/usr/local/sbin/vsftpd-loc#install-m644vsftpd.8/usr/share/man/man8#install-m644vsftpd.conf.5/usr/share/man/man5#install-m644vsftpd.conf/etc/vsftpd-loc.conf這樣就安裝完成了,那么我們開始進行簡單的配置#vi/etc/vsftpd-loc.conf,將如下三行加入文件listen=YESlisten_p
16、ort=21tcp_wrappers=YES/支持tcp_wrappers,限制訪問(/etc/hosts.allow,/etc/hosts.deny)listen=YES的意思是使用standalone啟動vsftpd,而不是superdaemon(xinetd)控制它(vsftpd推薦使用standalone方式),注意事項請參看匿名用戶的配置。anonymous_enable=NOlocal_enable=YES/這兩項配置說不允許匿名用戶登陸,允許本地用戶登陸#/usr/local/sbin/vsftpd-loc/etc/vsftpd-loc.conf&/以后臺方式啟動vsftpd測試
17、搭建好的匿名用戶方式,先測試root用戶吧:)#ftpConnectedto.220(vsFTPd2.0.3)530PleaseloginwithUSERandPASS.530PleaseloginwithUSERandPASS.KERBEROS_V4rejectedasanauthenticationtypeName(:root):root331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftppwd257/rootftpq
18、uit221Goodbye.我們看到root用戶可以登陸到ftp,他的登陸目錄就是自己的主目錄。再測試一個系統(tǒng)用戶,那我們先建立一個用戶名叫xuchen的#useraddxuchen#passwdxuchenChangingpasswordforuserxuchen.NewUNIXpassword:RetypenewUNIXpassword:passwd:allauthenticationtokensupdatedsuccessfully.建立好了,讓我們開始測試吧!#ftpConnectedto.220(vsFTPd2.0.3)530PleaseloginwithUSERandPASS.53
19、0PleaseloginwithUSERandPASS.KERBEROS_V4rejectedasanauthenticationtypeName(:root):xuchen331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftppwd257/home/xuchenftpquit221Goodbye.我們看到xuchen用戶可以登陸到ftp,他的登陸目錄也是自己的主目錄。哈哈,又完成了!高級配置細心的朋友可能已經看出來如果我們
20、不支持PAM認證方式,那么本地用戶就可以登陸,而默認編譯的vsftpd支持PAM認證方式,所以是不支持本地用戶登陸的。恩,從這點說,這也是vsftp安全的一個表現-禁止本地用戶登陸。我們登陸后進行測試,傳一個文件上去,得,失敗了,那下載個文件下來吧,恩,這是成功的(見圖2),而且我們發(fā)現我們可以進入到系統(tǒng)根目錄(見圖3),這樣很危險。那么改配置文件吧,為了測試方便,我們先建立一個名為kill-loc的腳本,也是為了殺掉FTP程序的#!/bin/bash$1a=/bin/ps-A|grepvsftpd-loc|awkprint$akill-9現在提供我的本地用戶驗證服務器配置文件吧(在匿名里寫過
21、的注釋我就不在這里寫了)listen=YESlisten_port=21tcp_wrappers=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022/本地用戶文件上傳后的權限是-rw-r-ranon_upload_enable=NOanon_mkdir_write_enable=NOdirmessage_enable=YESxferlog_enable=YESxferlog_file=/var/log/vsftpd.logxferlog_std_format=YESconnect_from_port_20=
22、YESchroot_local_user=YES/限制用戶在自己的主目錄#local_root=/ftp/你可以指定所有本地用戶登陸后的目錄,如果不設置此項,用戶都會登陸于自己的主目錄,就跟咱們前面測試的結果是一樣的local_max_rate=500000/本地用戶的下載速度為500KBytes/sidle_session_timeout=600data_connection_timeout=120nopriv_user=nobody/設定服務執(zhí)行者為nobody,vsftpd推薦使用一個權限很低的用戶,最好是沒有家目錄(/dev/null),沒有登陸shell(/sbin/nologin)
23、,系統(tǒng)會更安全ftpd_banner=WFTPservice.check_shell=NOuserlist_enable=YESuserlist_deny=YESuserlist_file=/etc/vsftpd.denyuser以上三條設定不允許登陸的用戶,用戶列表存放在/etc/vsftpd.denyuser中,一行一個帳號如果我把xuchen這個用戶加到vsftpd.denyuser里,那么登陸時會出現如下錯誤:#ftpConnectedto.220WFTPservice.530PleaseloginwithUSERandPASS.530PleaseloginwithUSERandPAS
24、S.KERBEROS_V4rejectedasanauthenticationtypeName(:root):xuchen530Permissiondenied.Loginfailed.呵呵,有意思吧,自己測試吧,本地用戶登陸方式就介紹到這里吧!3、虛擬用戶形式實現(db及mysql形式)#cd/home/xuchen/vsftpd-2.0.3/進入vsftpd-2.0.3的源代碼目錄#makeclean/清除編譯環(huán)境#vibuilddefs.h繼續(xù)編輯builddefs.h文件,文件內容如下:#ifndefVSF_BUILDDEFS_H#defineVSF_BUILDDEFS_H#defin
25、eVSF_BUILD_TCPWRAPPERS#undefVSF_BUILD_PAM#defineVSF_BUILD_SSL#endif/*VSF_BUILDDEFS_H*/將以上defineVSF_BUILD_PAM行的undef改為define,支持tcp_wrappers,支持PAM認證方式,支持SSL,和匿名用戶形式是一樣的。#make/直接在vsftpd-2.0.3里用make編譯#ls-lvsftpd-rwxr-xr-x1rootroot86088Jun622:26vsftpd/可執(zhí)行程序已被編譯成功創(chuàng)建必要的帳號,目錄:#useraddnobody/可能你的系統(tǒng)已經存在此帳號,那就
26、不用建立#mkdir/usr/share/empty/可能你的系統(tǒng)已經存在此目錄,那就不用建立#mkdir/var/ftp/可能你的系統(tǒng)已經存在此目錄,那就不用建立#useradd-d/var/ftpftp/可能你的系統(tǒng)已經存在此帳號,那就不用建立#chownroot:root/var/ftp#chmodog-w/var/ftp請記住,如果你不想讓用戶在本地登陸,那么你需要把他的登陸SHELL設置成/sbin/nologin,比如以上的nobody和ftp我就設置成/sbin/nologin安裝vsftp配置文件,可執(zhí)行程序,man等:#install-m755vsftpd/usr/local
27、/sbin/vsftpd-pam#install-m644vsftpd.8/usr/share/man/man8#install-m644vsftpd.conf.5/usr/share/man/man5#install-m644vsftpd.conf/etc/vsftpd-pam.conf這樣就安裝完成了,那么我們開始進行簡單的配置對于用DB庫存儲用戶名及密碼的方式來說:(1)查看系統(tǒng)是否有相應軟件包#rpmqa|grepdb4db4-devel-4.2.52-7.1db4-4.2.52-7.1db4-utils-4.2.52-7.1(2)建立一個logins.txt的文件,單行為用戶名,雙行
28、為密碼,例如#vi/home/logins.txtxuchen12345(3)建立數據庫文件并設置文件屬性#db_load-T-thash-f/home/logins.txt/etc/vsftpd_login.db#chmod600/etc/vsftpd_login.db(4)建立認證文件#vi/etc/pam.d/ftp插入如下兩行authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd_loginaccountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd_login(5)建立一個虛擬用戶
29、useradd-d/home/vsftpd-s/sbin/nologinvsftpdls-ld/home/vsftpddrwx-3vsftpdvsftpd1024Jun622:55/home/vsftpd/(6)編寫配置文件(注意事項請參看匿名用戶的配置,這里不再贅述)#vi/etc/vsftpd-pam.conflisten=YESlisten_port=21tcp_wrappers=YES/支持tcp_wrappers,限制訪問(/etc/hosts.allow,/etc/hosts.deny)listen=YES的意思是使用standalone啟動vsftpd,而不是superdaemo
30、n(xinetd)控制它(vsftpd推薦使用standalone方式)anonymous_enable=NOlocal_enable=YES/PAM方式此處必須為YES,如果不是將出現如下錯誤:500OOPS:vsftpd:bothlocalandanonymousaccessdisabled!write_enable=NOanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NOchroot_local_user=YESguest_enable=YESguest_username=vsftpd/這兩行的
31、意思是采用虛擬用戶形式virtual_use_local_privs=YES/虛擬用戶和本地用戶權限相同pasv_enable=YES/建立資料聯機采用被動方式pasv_min_port=30000/建立資料聯機所可以使用port范圍的上界,0表示任意。默認值為0。pasv_max_port=30999/建立資料聯機所可以使用port范圍的下界,0表示任意。默認值為0。(7)啟動程序#/usr/local/sbin/vsftpd-pam/etc/vsftpd-pam.conf&(8)測試連通及功能#vi/home/vsftpd/test/建立一個文件,內容如下1234567890#chownv
32、sftpd.vsftpd/home/vsftpd/test#ftpConnectedto.220(vsFTPd2.0.3)530PleaseloginwithUSERandPASS.530PleaseloginwithUSERandPASS.KERBEROS_V4rejectedasanauthenticationtypeName(:root):xuchen331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftppwd257/
33、ftpsizetest21311ftpquit221Goodbye.OK,用戶名為xuchen,密碼為12345可以連接到FTP服務器,看不到文件列表,但可以下載已知文件名的文件,不能上傳文件,非常安全吧!如果我們需要用戶看到文件,怎么辦?也好辦,在配置文件中加入如下語句:anon_world_readable_only=NO/匿名登入者不能下載可閱讀的檔案,默認值為YES如果需要讓用戶上傳文件和下載文件分開,建議如下這么做#vi/home/logins.txtxuchen12345upload45678/首先建立虛擬用戶upload,密碼為45678#db_load-T-thash-f/ho
34、me/logins.txt/etc/vsftpd_login.db/更新數據文件#mkdir/home/vsftpd/upload#vi/etc/vsftpd-pam.conf加入如下語句user_config_dir=/etc/vsftpd_user_conf#mkdir/etc/vsftpd_user_conf#vi/etc/vsftpd_user_conf/upload文件內容如下local_root=/home/vsftpd/uploadwrite_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir
35、_write_enable=YESanon_other_write_enable=YES#chmod700/home/vsftpd/upload#chownvsftpd.vsftpd/home/vsftpd/upload/這樣,xuchen用戶可以下載/home/vsftpd里的文件及upload里的文件,而upload用戶可以上傳和下載/home/vsftpd/upload文件夾的東西,但不能到/home/vsftpd里下載文件,很簡單得實現了分用戶上傳和下載對于用Mysql庫存儲用戶名及密碼的方式來說:就是把用戶名和密碼放在mysql庫里,實現起來也相當簡單(1)建立一個庫并設置相應權限#
36、mysqlpmysqlcreatedatabaseftpd;mysqluseftpd;mysqlcreatetableuser(namechar(20)binary,passwdchar(20)binary);mysqlinsertintouser(name,passwd)values(test1,12345);mysqlinsertintouser(name,passwd)values(test2,54321);mysqlgrantselectonftpd.usertoftpdlocalhostidentifiedby123456;mysqlflushprivileges;刷新權限設置mys
37、qlquit(2)下載libpam-mysql進行安裝編譯下載地址如下:HYPERLINK/st_blank/s.am_mysql-0.5.tar.gz假設我們把它放在了/home/xuchen目錄下#cd/home/xuchen#tarxzvfpam_mysql-0.5.tar.gz#cdpam_mysql#make#cppam_mysql.so/lib/security(3)建立PAM認證信息#vi/etc/pam.d/ftp,內容如下authrequired/lib/security/pam_mysql.souser=ftpdpasswd=123456host=localhostdb=f
38、tpdtable=userusercolumn=namepasswdcolumn=passwdcrypt=0accountrequired/lib/security/pam_mysql.souser=ftpdpasswd=123456host=localhostdb=ftpdtable=userusercolumn=namepasswdcolumn=passwdcrypt=0注意:crypt=ncrypt=0:明文密碼crypt=1:使用crpyt()函數(對應SQL數據里的encrypt(),encrypt()隨機產生salt)crypt=2:使用MYSQL中的password()函數加密c
39、rypt=3:表示使用md5的散列方式(4)建立本地虛擬用戶#useradd-d/home/ftpd-s/sbin/nologinftpd(5)下面就差修改vsftpd.conf文件了,我把我的提供給大家參考吧:)#vi/etc/vsftpd-pam1.confanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESchroot_local_user=YESguest_
40、enable=YESguest_username=ftpdlisten=YESlisten_port=21pasv_enable=YESpasv_min_port=30000pasv_max_port=30999anon_world_readable_only=NOvirtual_use_local_privs=YES#user_config_dir=/etc/vsftpd_user_conf可以看出,和前面的用db庫來驗證沒有多大區(qū)別,其實就是一個東西,一個用mysql來驗證,一個用db庫,我個人比較傾向于用db庫來驗證,在這個環(huán)境下,相對于Mysql來說,安全系數更高一點。(6)#/usr
41、/local/sbin/vsftpd-pam/etc/vsftpd-pam1.conf&/以后臺方式啟動(7)測試連通#ftpConnectedto.220(vsFTPd2.0.3)530PleaseloginwithUSERandPASS.530PleaseloginwithUSERandPASS.KERBEROS_V4rejectedasanauthenticationtypeName(:root):test1331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarym
42、odetotransferfiles.ftppwd257/ftpquit221Goodbye.看,成功了!這樣就實現了mysql的認證方式,很簡單吧?4、為FTP增加磁盤配額,從而避免惡意用戶用垃圾數據塞滿你的硬盤我首先要說的是這個功能是系統(tǒng)自帶的,而不是vsftp的功能之一,千萬別搞混了。好了,我們先假設我們的系統(tǒng)用戶ftpd的主目錄是/home/ftpd,它是建立在/home分區(qū)中,那么如果我們要對ftpd用戶進行磁盤限額,那我們需要修改/etc/fstab中根分區(qū)的記錄,將/home分區(qū)的第4個字段改成defaults,usrquota,如下:LABEL=/home/homeext3de
43、faults,usrquota12#reboot/重新啟動系統(tǒng)使設置生效也可以用#mount-oremount/dev/sda6/dev/sda6的掛接點就是/home,這樣可以不用啟動系統(tǒng)。這里我還要說明一下,如果我們對一個組進行磁配額,那我們需要增加參數grpquota,例如LABEL=/home/homeext3defaults,grpquota12也可以LABEL=/home/homeext3defaults,usrquota,grpquota12你想怎么限制都可以,自己組合參數吧。#quotacheck-avu說明:a-自動開啟掛載文件系統(tǒng)的配額,v-顯示信息,u-啟用用戶配額org
44、-啟用組配額#edquotaftpd/為用戶ftpd設置磁盤配額OR#edquota-ggrp/為組grp設置磁盤配額系統(tǒng)會自動打開配額文件,如下:Diskquotasforuserftpd(uid502):Filesystemblockssofthardinodessofthard/dev/sda6424001300第一列是啟用了配額的文件系統(tǒng)的名稱。第二列顯示了用戶當前使用的塊數,單位為KB。隨后的兩列用來設置用戶在該文件系統(tǒng)上的軟硬塊限度。inodes列顯示了用戶當前使用的i節(jié)點數量。最后兩列用來設置用戶在該文件系統(tǒng)上的軟硬i節(jié)點限度.硬限是用戶或組群可以使用的磁盤空間的絕對最大值。達到
45、了該限度后,磁盤空間就不能再被用戶或組群使用了。軟限定義可被使用的最大磁盤空間量。和硬限不同的是,軟限可以在一段時期內被超過。這段時期被稱為過渡期(graceperiod),默認七天的超越。過渡期可以用秒鐘、分鐘、小時、天數、周數、或月數表示。如果以上值中的任何一個被設置為0,那個限度就不會被設置。我設置了硬塊限度為1KB,是為了測試方便。#quotaon-avu/打開磁盤配額監(jiān)控進程,u是用戶g是組,這里我沒設置g參數要校驗用戶的配額是否被設置,我們可以使用以下命令:#quotaftpdDiskquotasforuserftpd(uid502):Filesystemblocksquotali
46、mitgracefilesquotalimitgrace/dev/sda6424*011300#edquotat(-g)來設置過渡期(graceperiod)/當然只針對軟限制而言和另一個edquota命令相似,這個命令也會在文本編輯器中打開當前的文件系統(tǒng)配額:Graceperiodbeforeenforcingsoftlimitsforusers:Timeunitsmaybe:days,hours,minutes,orsecondsFilesystemBlockgraceperiodInodegraceperiod/dev/sda67days7days按你的需要修改后存盤退出用以下命令顯示磁
47、盤配額使用狀態(tài)#repquota-a或repquota/dev/sda6(用戶配額)#repquota-g-a或repquota-a/dev/sda6(組的配額)如果一切按照你的意思實施了,那么我們就進行測試了!如下圖4我們傳了一個1k的文件,沒有成功,這樣我們就成功的為用戶ftpd增添了磁盤配額,要是哪一天你不想加磁盤配額了,怎么辦?參看如下命令:取消某個文件系統(tǒng)的配額限制#quotaoff-vug/dev/sda6/刪除home分區(qū)的磁盤限額#刪除/etc/fstab中設置配額的部分修改軟配額的最大超越時間注意:/,/boot/,/proc,/mnt/cdrom等不要使用配額,沒用。而且磁
48、盤配額不適合FAT和FAT32系統(tǒng)。以后當新設置了某個用戶的配額,可以使用如下命令,馬上生效。#quotacheck-auvgm-是不嘗試重新掛載文件系統(tǒng)備注:1、vsftpd配置參數詳細整理#接受匿名用戶anonymous_enable=YES#匿名用戶login時不詢問口令no_anon_password=YES#匿名用戶主目錄anon_root=(none)#接受本地用戶local_enable=YES#本地用戶主目錄local_root=(none)#如果匿名用戶需要密碼,那么使用banned_email_file里面的電子郵件地址的用戶不能登錄deny_email_enable=YE
49、S#僅在沒有pam驗證版本時有用,是否檢查用戶有一個有效的shell來登錄check_shell=YES#若啟用此選項,userlist_deny選項才被啟動userlist_enable=YES#若為YES,則userlist_file中的用戶將不能登錄,為NO則只有userlist_file的用戶可以登錄userlist_deny=NO#如果和chroot_local_user一起開啟,那么用戶鎖定的目錄來自/etc/passwd每個用戶指定的目錄(這個不是很清楚,很哪位熟悉的指點一下)passwd_chroot_enable=NO#定義匿名登入的使用者名稱。默認值為ftp。ftp_use
50、rname=FTP#用戶權限控制#可以上傳(全局控制).write_enable=YES#本地用戶上傳文件的umasklocal_umask=022#上傳文件的權限配合umask使用#file_open_mode=0666#匿名用戶可以上傳anon_upload_enable=NO#匿名用戶可以建目錄anon_mkdir_write_enable=NO匿名用戶其它的寫權利(更改權限?)anon_other_write_enable=NO如果設為YES,匿名登入者會被允許下載可閱讀的檔案。默認值為YES。anon_world_readable_only=YES#如果開啟,那么所有非匿名登陸的用戶
51、名都會被切換成guest_username指定的用戶名#guest_enable=NO所有匿名上傳的文件的所屬用戶將會被更改成chown_usernamechown_uploads=YES匿名上傳文件所屬用戶名chown_username=lightwiter#如果啟動這項功能,則所有列在chroot_list_file之中的使用者不能更改根目錄chroot_list_enable=YES#允許使用asyncABOR命令,一般不用,容易出問題async_abor_enable=YES管控是否可用ASCII模式上傳。默認值為NO。ascii_upload_enable=YES#管控是否可用ASC
52、II模式下載。默認值為NO。ascii_download_enable=YES#這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的權限,當vsftpd不需要filesystem的權限時,就會將使用者限制在此數據夾中。默認值為/usr/share/emptysecure_chroot_dir=/usr/share/empty#超時設置#空閑連接超時idle_session_timeout=600#數據傳輸超時data_connection_timeout=120#PAVS請求超時ACCEPT_TIMEOUT=60#PROT模式連接超時connect_timeout=60#服務器功能選項#開
53、啟日記功能xferlog_enable=YES#使用標準格式xferlog_std_format=YES#當xferlog_std_format關閉且本選項開啟時,記錄所有ftp請求和回復,當調試比較有用.#log_ftp_protocol=NO#允許使用pasv模式pasv_enable=YES#關閉安全檢查,小心呀.#pasv_promiscuous+NO#允許使用port模式#port_enable=YES#關閉安全檢查#prot_promiscuous#開啟tcp_wrappers支持tcp_wrappers=YES#定義PAM所使用的名稱,預設為vsftpd。pam_service_
54、name=vsftpd#當服務器運行于最底層時使用的用戶名nopriv_user=nobody#使vsftpd在pasv命令回復時跳轉到指定的IP地址.(服務器聯接跳轉?)pasv_address=(none)#服務器性能選項#是否能使用ls-R命令以防止浪費大量的服務器資源#ls_recurse_enable=YES#是否使用單進程模式#one_process_model#綁定到listen_port指定的端口,既然都綁定了也就是每時都開著的,就是那個什么standalone模式listen=YES#當使用者登入后使用ls-al之類的指令查詢該檔案的管理權時,預設會出現擁有者的UID,而不是
55、該檔案擁有者的名稱。若是希望出現擁有者的名稱,則將此功能開啟。text_userdb_names=NO#顯示目錄清單時是用本地時間還是GMT時間,可以通過mdtm命令來達到一樣的效果use_localtime=NO#測試平臺優(yōu)化#use_sendfile=YES#信息類設置#login時顯示歡迎信息.如果設置了banner_file則此設置無效ftpd_banner=歡迎來到湖南三辰Fake-TaFTP網站.#允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容dirmessage_enable=YES#顯示會話狀態(tài)信息,關!#setproctitle_enable=Y
56、ES#文件定義#定義不能更改用戶主目錄的文件chroot_list_file=/etc/vsftpd/vsftpd.chroot_list#定義限制/允許用戶登錄的文件userlist_file=/etc/vsftpd/vsftpd.user_list#定義登錄信息文件的位置banner_file=/etc/vsftpd/banner#禁止使用的匿名用戶登陸時作為密碼的電子郵件地址banned_email_file=/etc/vsftpd.banned_emails#日志文件位置xferlog_file=/var/log/vsftpd.log#目錄信息文件message_file=.messa
57、ge#目錄定義#定義用戶配置文件的目錄user_config_dir=/etc/vsftpd/userconf#定義本地用戶登陸的根目錄,注意定義根目錄可以是相對路徑也可以是絕對路徑.相對路徑是針對用戶家目錄來說的.local_root=webdisk#此項設置每個用戶登陸后其根目錄為/home/username/webdisk#匿名用戶登陸后的根目錄anon_root=/var/ftp#用戶連接選項#可接受的最大client數目max_clients=100#每個ip的最大client數目max_per_ip=5#使用標準的20端口來連接ftpconnect_from_port_20=YES
58、#綁定到某個IP,其它IP不能訪問listen_address=#綁定到某個端口#listen_port=2121#數據傳輸端口#ftp_data_port=2020#pasv連接模式時可以使用port范圍的上界,0表示任意。默認值為0。pasv_max_port=0#pasv連接模式時可以使用port范圍的下界,0表示任意。默認值為0。pasv_min_port=0#數據傳輸選項#匿名用戶的傳輸比率(b/s)anon_max_rate=51200#本地用戶的傳輸比率(b/s)local_max_rate=5120000#別外,如果要對每個用戶進行單獨的控制,只需要在user_config_d
59、ir中建立username文件,內容為數據傳輸和用戶權利里面設置個人的合適的選項,用戶自定義文件同樣適合用pam支持的虛擬用戶附:FTP數字代碼的意義110重新啟動標記應答。120服務在多久時間內ready。125數據鏈路埠開啟,準備傳送。150文件狀態(tài)正常,開啟數據連接端口。200命令執(zhí)行成功。202命令執(zhí)行失敗。211系統(tǒng)狀態(tài)或是系統(tǒng)求助響應。212目錄的狀態(tài)。213文件的狀態(tài)。214求助的訊息。215名稱系統(tǒng)類型。220新的聯機服務ready。221服務的控制連接埠關閉,可以注銷。225數據連結開啟,但無傳輸動作。226關閉數據連接端口,請求的文件操作成功。227進入passivemod
60、e。230使用者登入。250請求的文件操作完成。257顯示目前的路徑名稱。331用戶名稱正確,需要密碼。332登入時需要賬號信息。350請求的操作需要進一部的命令。421無法提供服務,關閉控制連結。425無法開啟數據鏈路。426關閉聯機,終止傳輸。450請求的操作未執(zhí)行。451命令終止:有本地的錯誤。452未執(zhí)行命令:磁盤空間不足。500格式錯誤,無法識別命令。501參數語法錯誤。502命令執(zhí)行失敗。503命令順序錯誤。504命令所接的參數不正確。530未登入。532儲存文件需要賬戶登入。550未執(zhí)行請求的操作。551請求的命令終止,類型未知。552請求的文件終止,儲存位溢出。553未執(zhí)行請求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度出院患者出院后康復護理服務協(xié)議書范本4篇
- 乙方負責甲方2024年度廣告投放的合同
- 2025年度時尚潮流門面租賃管理服務協(xié)議4篇
- 二零二四年度藝術品捐贈合同2篇
- 2025年度電梯安裝與節(jié)能改造設計合同4篇
- 二零二四年熟食加盟店運營管理合作協(xié)議范本3篇
- 二零二五年度二手房買賣稅收優(yōu)惠協(xié)議3篇
- 二零二五年度撫養(yǎng)權變更及子女財產權益保障協(xié)議3篇
- 二零二四年度智能家居系統(tǒng)安裝工程合同2篇
- 二手房租賃協(xié)議法律文檔
- 開展課外讀物負面清單管理的具體實施舉措方案
- 2025年云南中煙工業(yè)限責任公司招聘420人高頻重點提升(共500題)附帶答案詳解
- 2025-2030年中國洗衣液市場未來發(fā)展趨勢及前景調研分析報告
- 2024解析:第三章物態(tài)變化-基礎練(解析版)
- 北京市房屋租賃合同自行成交版北京市房屋租賃合同自行成交版
- 《AM聚丙烯酰胺》課件
- 系統(tǒng)動力學課件與案例分析
- 《智能網聯汽車智能傳感器測試與裝調》電子教案
- 客戶分級管理(標準版)課件
- GB/T 32399-2024信息技術云計算參考架構
- 固定資產盤點報告醫(yī)院版
評論
0/150
提交評論