亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Ftp服務器 > 正文

用wu-ftpd架設FTP服務器(1)_Ftp服務器教程

2024-09-09 20:58:12
字體:
來源:轉載
供稿:網友

一、前言 

當我們架設的網站需要提供下載功能時,除了使用http的方式連接外,也可以另外提供ftp服務供用戶直接連線下載。事實上,ftp是個存在已久的服務,它的設計是用來傳輸兩臺電腦之間的數據,以避免太多的遠端執行。如果要傳送的文件比較大時,若以http的方式連線傳輸會占用一些網站的資源(例如可連線的人數),這時就要用到ftp了。ftp是一個以TCP/IP為基礎的應用程序,所以一般的ftp服務程序都會以內嵌于inetd的執行方式。 

ftp分為兩個部分,一個是服務器端的程序,一個是用戶端的。在Unix上的ftp服務程序非常多,不同的操作系統所內建的版本也都不一樣,常見的有wu-ftpd、proftpd、Troll ftpd、ncftpd和Bero ftpd等等。其中最常用的最受歡迎的的是wu-ftpd,它是當初由華盛頓大學wuarchive.wustl.edu開發出來的,是一個以效率以及穩定性為考量的程序,它提供了原始碼以及開放學術單位免費使用。 

二、安裝與設定 

wu-ftpd的安裝非常容易,大多數版本的Linux中都包含了wu-ftpd的rpm軟件包,你可以在安裝Linux時指定裝入。如果你想自行編譯源代碼,也可以到ftp://ftp.wu-ftpd.org下載最新版本的源代碼包。 

安裝好以后,可以用ckconfig命令來檢查是否已經正確安裝。在/etc/passwd中可以指定ftp用戶的登入目錄。 

wu-ftpd主要有以下6個配置文件: 

ftpaccess(主要配置文件,控制存取權限) 

ftpconvertions(配置文件壓縮/解壓縮轉換) 

ftpgroups(設定ftp自己定義的群組) 

ftphosts(設定個別的用戶權限) 

ftpservers(設定不同IP/Domain Name以對應到不同的虛擬主機) 

ftpusers(設定哪些帳號不能用ftp連線) 

下面我們來一一介紹。 

⒈/etc/ftpaccess(wu-ftpd的主要配置文件) 

class--定義群組,用法如下: 

class<種類><用戶地址>[<用戶地址>……] 

由class定義的群組用戶才可以連線進來,可以使用多層式的class來規范哪些群組的用戶能夠從哪些地方上來。這里有三個重要的種類, real、anonymous個guest。real如果沒有列在定義中,那么這臺機器中任何真實的一般用戶都無法用自己的帳號連上來。 anonymous如果沒有在定義,就表示不讓沒有帳號的的人連上來。如果有定義guest,那么guest群組的人就可以上來。另外<用戶地址 >是指ftp上來的用戶會用到的IP地址,則可自行設定。以下是一些例子: 

class all real,guest,anonymous * 

定義了一個名為all的class,包含三種人,所有IP的連線用戶(也就是所有人都包括了) 

class local real localhost loopback 

local這個class說,只有real的用戶可以從本機機器連上來 

class remote guest,anonymous * 

remote這個class包含了從任何地方上來的guest和anonymous用戶,但是real用戶不算 

class rmtuser real !*.example.com 

rmtuser這個class包含了從外面來的(除了example.com)真實用戶 

autogroup--自動對應群組,用法如下: 

autogroup[……] 

當你定義好的那些同屬于一個class的用戶,一旦連線上來就會被對應到一個相應的群組下面,這樣你就可以用Unix的文件權限對某一群人做限制。 

deny--拒絕某些地址連線,用法如下: 

deny<拒絕連線的地址><信息文件> 

禁止某些機器連線,并顯示<信息文件>。例如: 

deny 210.62.146.*:255.255.255.254 /etc/reject.msg 

guestgroup--設定訪客群 

guestuser--設定訪客帳號 

realgroup--設定真實群組 

realuser--設定真實帳號 

nice--設定給某些class多少優先權,用法如下: 

nice 

在Linux中,nice的值是-20(最優先)到19(最后處理),這里你可以指定負的值來提高某class的優先順序。 

defumask--設定某class的umask,用法如下: 

defumask[

umask是建立文件時該文件的的權限掩碼 

tcpwindow--設定tcpwindow的大小 

keepalive--設定是否使用TCP SO_KEEPALIVE來控制斷線情形 

timeout--設定連線超時,用法如下: 

timeout accept<秒> 

接受連線超時,預設120秒 

timeout connect<秒> 

連線建立超時,預設120秒 

timeout data<秒> 

數據傳送超時,預設1200秒 

timeout idle<秒> 

用戶發呆超時,預設900秒 

file-limit--限制某class只能傳幾個文件,用法如下: 

file-limit[][

對某個class限制存取文件的數目,包含了in(上傳)、out(下載),total raw代表整個傳輸的結果,不光是數據文件。例如: 

file-limit out 20 lvfour 

限制lvfour這個class的用戶最多只能下載20個文件 

byte-limit--限制某class只能傳幾個字節,用法跟file-limit相似 

limit-time--限制一個連線只能持續多久,用法如下: 

limit-time{*|anonymous|guest}<分鐘> 

為了避免有人掛在站上不下來,可以用這個方法限制用戶的上線時間,例如: 

limit-time guest 5 

讓guest帳號的用戶只能用5分鐘 

limit--限制某class能同時幾人上線,用法如下: 

limit<連線數目><時間區段><額滿信息文件> 

設定某個class在某一時間區段內最多能夠幾人同時上線,后面是當超過連線數目時要顯示的信息。例如: 

limit all 32 Any /home/ftp/etc/toomanyuser.msg 

限制所有連線在任何時間只能有32個用戶,超過則拒絕連線并顯示信息 

limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg 

限制levellone這個class的用戶在23:00到6:00這段時間內只能有5人連線 

noretrieve--設定哪些文件不可下載 

noretrieve[absolute/relative][class=]…[-][<文件名>…] 

absolute或relative指文件是用絕對路徑還是相對路徑 

allow=retrieve--設定哪些文件可以下載 

allow[absolute/relative][class=]…[-][<文件名>…] 

loginfails--設置登入錯誤可嘗試的次數 

當用戶連線時可能打錯ID或密碼,這個設定可以讓他打錯幾次以后就斷線,避免有人用窮舉法猜測密碼。 

private--設定線上是否可以執行SITE GROUP/SITE GPASS 

當開放SITE GROUP與SITE GPASS指令時,可以用這兩個指令切換到/etc/ftpgroup的群組。一般而言我們不會用到這個功能,以避免安全漏洞。 

greeting--顯示Server的版本信息,用法如下: 

greeting  

當用戶登入畫面顯示的server信息,full是預設值,包含版本號以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。 

barnner--設定未進入Login畫面之前用戶看到的信息,用法如下: 

banner<文件路徑> 

這里敘述了在用戶登入時,在還沒打ID/Password之前要出現的信息。文件路徑指的是相對于真實的路徑,而不是相對于ftp的根目錄。 

host--設定ftp主機名 

email--指定ftp管理者的email地址 

message--信息文件的設定,用法如下: 

message<文件>{<何時>{……}} 

這里的文件的路徑是相對于ftp的根目錄的,“何時”是指當你做了什么動作之后的反應,有幾個選擇: 

login(登入時) 

cwd=<目錄>(進入某目錄時) 

class 名稱是前面已經定義過的,允許你的信息只對哪些人發出。 

而信息文件的內容除了文字以外,還可以使用以下一些事先定義好的代號: 

%T(本機時間) 

%F(目前分區所剩余的空間) 

%C(目前所在的目錄) 

%E(管理者的E-mail) 

%R(客戶端主機名稱) 

%L(本機主機名稱) 

%U(用戶名稱) 

%M(與我相同class用戶允許多少人連線) 

%N(與我相同class用戶目前有多少人連線) 

%B(絕對磁盤限制大小,目前分區(單位blocks)) 

%b(preferred磁盤限制大小,目前分區(單位blocks)) 

%Q(目前已使用的blocks) 

%I(最大可使用的inodes(+1)) 

%i(Preferred inodes限制) 

%q(目前使用的indoes) 

%H(超量使用磁盤空間的時間限制) 

%h(超量使用文件數目的時間限制) 

readme--通知用戶哪些README文件已經更新 

log commands--記錄用戶所使用過的命令,用法如下: 

log commands<用戶種類> 

log transfers--記錄用戶所傳輸的文件,用法如下: 

log transfers<用戶種類><傳輸方向> 

設定有哪些類型的用戶傳輸文件需要記錄,包含了inbound(用戶上傳)和outbound(用戶下載),例如: 

log transfers anonymous,guest inbound,outbound 

log security--記錄安全性,用法如下: 

log security<用戶種類> 

特別用于記錄某類用戶關于noretrive、notar等有關安全性的記錄 

log syslog--記錄到系統的syslog文件 

alias--設定目錄別名,用法如下: 

alias<別名字符串><目錄> 

cdpath--設定cd更換目錄搜索順序 

compress,tar--設定是否自動壓縮,用法如下: 

compress[……] 

tar[……] 

[NextPage]定義哪些人可以執行壓縮以及tar 

shutdown--通知用戶要關站了 

shutdown<信息文件> 

如果信息文件存在的話,當這個文件指定的某時間以后,就會拒絕連線并切斷已有的連線,等時間一到就關機。這個信息文件的格式如下: 

<年><月><日><時><分><拒絕倒數><斷線倒數><文字> 

daemon address--指定只監聽某個IP地址,用法如下: 

daemon address

當你有許多IP的時候,使用這個選項將會取消其它任何虛擬FTP主機的設定。不設定的話,監聽所有IP。 

virtual--設定虛擬FTP站臺 

wu-ftpd提供了虛擬主機的功能,也就是說,在同一臺機器上提供了不同FTP站臺,以主機名稱或IP來區分;當然你要用名稱的話,還需要跟DNS配合才行。virtual有很多個設定: 

virtual<路徑> 

可以是主機名或IP地址 

root指的是ftp的根目錄,banner是歡迎信息,logfile指的是這個虛擬站臺的log文件 

以下是一些例子: 

virtual virtual.com.bj root /home/ftp2 

virtual virtual.com.bj banner /etc/vftpbanner.2 

virtual virtual.com.bj logfile /etc/viftplog.2 

virtual
<字母> 

用戶可以查到hostname跟管理者email,以下是一些例子: 

virtual 210.62.146.50 hostname virtual.site.com.bj 

virtual vritual.site.com.bj email ftpown@virtual.site.com.bj 

virtual
allow<用戶>[<用戶>……] 

virtual deny<用戶>[<用戶>……] 

很明顯,以上兩個選項是設定是否允許連線的,以下是一些例子: 

virtual virtual.site.com.bj allow * 

virtual virtual.site.com.bj deny badman 

virtualprivate 

本虛擬站臺拒絕anonymous用戶 

defaultserver deny <用戶>[<用戶>……] 

defaultserver allow <用戶>[<用戶>……] 

當我們使用了虛擬主機,原先的deny,allow設定不知道要設哪個server,所以會無效,用defaultserver代表原來的主機 

defaultserver private 

主站臺拒絕anonymous用戶 

passive address--轉換IP數值 

passive address<外部IP>/cidr 

passive ports--passive的ports范圍 

passive ports 

pasv-allow--允許使用pasv 

pasv-allow[<地址>……] 

port-allow--允許使用port 

port-allow[<地址>……] 

mailserver--指定Upload通知的Mail服務器 

incmail--指定anonymous upload的email通知地址 

virtual incmail--指定虛擬主機anonymous upload的email通知地址 

defaultserver incmail--指定預設主機anonymous upload的email通知地址 

mailfrom--通知的寄信人upload 

virtual mailfrom--虛擬主機upload通知的寄信人 

defaultserver mailfrom--預設主機upload通知的寄信人 

chmod--設定是否可以改變文件權限 

delete--設定是否可以刪除文件 

overwrite--覆蓋文件 

rename--重命名文件 

umask--允許設定umask 

passwd-check--設定anonymous FTP的密碼檢查程度,用法如下: 

passwd-check(

設定對anonymous ftp用戶的密碼是否檢查,none表示不檢查,trivial為包含@的任意密碼,rfc822則表示密碼要遵循RFC822格式,enforce表示密碼檢查不過不允許進入,warn表示密碼檢查不過只出現警告信息。 

deny=email--拒絕特定的email當密碼 

path-filer--攝定哪些文件名不可使用 

path-filer<錯誤信息文件><允許字符><不允許字符> 

upload--設定upload權限 

upload[absloute/relative][class=]…[-]<設定的目錄>

>[dirs/nodirs][d_mode] 

用來對我們要設定的目錄做權限設定: 

absoulte/relative使用絕對路徑或是相對路徑 

class=指定某個class 

root-dir指的是對哪些root-dir的人,也就是chroot后的登入目錄,應用這個規則 

設定的目錄指的就是我們要限制的目錄 

yes/no指得是能否在此目錄下開新文件 

owner,group指出是開出來的文件擁有者及群組 

Mode指的是文件權限 

dirs/nodirs指的是能否開新目錄 

d_mode設定建立新目錄時目錄的權限,如果不設定會根據mode來設定 

thoughput--控制下載速度 

thoughput<子目錄列表><文件><遠端地址列表> 

對遠端的地址,控制他抓某個子目錄下的某些文件時的速度,例如: 

thoughput /e/ftp * * oo - * 

thoughput /e/ftp /sw* * 1024 0.5 * 

thoughput /e/ftp sw* readme oo - * 

thoughput /e/ftp sw* * oo - *.foo.com 

以上的設定你是否能夠看出來呢?“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表一倍。第一行的意思是說,在/e/ftp下面的文件不限制下載速度;第二行說,在/sw*下面的任何文件限速為1024bytes/sec* 

0.5=512bytes/sec;第三行又把readme文件的限速取消;最后一行則對*.foo.com開放全速。 

anonymous-root--對某class設定匿名用戶的根目錄 

anonymous-root[

guest-root--預設一個guest用戶根目錄 

guest-root[

其中用于指定uid的范圍 

deny-uid,deny-gid--拒絕某段UID(GID)范圍 

allow-uid,allow-gid--允許某段UID(GID)范圍 

restricted-uid,restricted-gid--限制用戶不能離開他的登錄目錄 

unrestricted-uid,unrestricted-gid--用戶可以離開他的登錄目錄 

dns refuse_mismatch--設定DNS查到名稱與用戶設定不符的動作 

dns refuse_mismatch<信息文件>[override] 

當用戶使用未注冊IP時,拒絕他的連線,override則是不理會錯誤而讓他連線,信息文件則是我們要給用戶看的。 

dns refuse_no_reverse--設定無反查記錄拒絕連線 

dns refuse_no_reverse<信息文件>[override] 

當用戶的IP反查無記錄時,拒絕他的連線 

dns resolveoptions--設定DNS解析選項 

dns resolveoptions[options] 

這里可以設定DNS解析選項 

⒉/etc/ftphosts 

ftphosts文件其實跟ftpaccess里面的access,deny很像,它是特別用來設定某些ID的連線,它沒有class定義,所以必須是真實用戶。 

allow|deny<用戶><地址>[<地址>……] 

以下是一些例子: 

allow rose 140.0.0/8 

deny jack 140.123.0.0:255.255.0.0 

允許rose從140.*.*.*進來,拒絕jack從140.123.*.*上來 

⒊/etc/ftpservers 

這個文件控制了當你有不同的IP/hostname的時候,進來的連線使用哪一個配置文件。例如: 

10.196.145.10 /etc/ftpd/ftpaccess.somedomain/ 

10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/ 

some.domain internal 

10.196.145.20 /etc/ftpd/config/faqs.org/ 

ftp.some.domain /etc/ftpd/config/faqs.org/ 

⒋/etc/ftpusers 

在這個文件里記錄的用戶禁止使用FTP 

⒌/etc/ftpgroups 

給SITE GROUP指令使用,線上切換group。SITE EXEC容易造成安全漏洞,一般我們都不開放。 

⒍/etc/ftpconversions 

用來做tar、compress、gzip等動作指令配置文件,只要用預設即可,如果你不開放即時壓縮打包,也可以把內容清除。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情视频一区二区| 国产一区二区三区视频免费| 国产精品视频一区二区高潮| 国产成人综合一区二区三区| 亚洲欧美日韩精品久久| 中文字幕亚洲字幕| 富二代精品短视频| 法国裸体一区二区| 青草成人免费视频| 日韩av影院在线观看| 中文字幕日韩综合av| 富二代精品短视频| 欧美第一淫aaasss性| 欧美日韩国产精品一区二区三区四区| 亚洲日本aⅴ片在线观看香蕉| 中文欧美日本在线资源| 亚洲美女视频网| 亚洲影院在线看| 亚洲视频视频在线| 精品久久久香蕉免费精品视频| 亚洲精品免费网站| 欧美怡春院一区二区三区| 欧美午夜影院在线视频| 久久视频这里只有精品| 中文字幕一精品亚洲无线一区| 成人黄色短视频在线观看| 国产一区二区精品丝袜| 成人黄色激情网| 国产精品精品久久久久久| 成人免费在线视频网址| 欧美专区在线观看| 亚洲国产精品福利| 一区二区在线视频播放| 国产成人亚洲精品| 日韩欧美一区二区三区| 亚洲激情在线观看视频免费| 国产成人一区二区在线| xxx欧美精品| 亚洲电影成人av99爱色| 久久综合色88| 亚洲精品成人久久久| 国产日韩欧美成人| 欧美极品在线视频| 欧美激情高清视频| 成人中文字幕+乱码+中文字幕| 欧美性猛交xxxx富婆弯腰| 国产欧美精品一区二区三区介绍| 亚洲国产精品专区久久| 九九精品在线视频| 久久综合久中文字幕青草| 68精品国产免费久久久久久婷婷| 国产精品成人免费电影| 欧美贵妇videos办公室| 国产精品6699| 精品国产乱码久久久久酒店| 成人精品aaaa网站| 亚洲最大福利视频网| 热99精品只有里视频精品| 国产综合福利在线| 91精品国产综合久久香蕉| 久久久久久久久久久网站| 91日本在线观看| 视频一区视频二区国产精品| 最近的2019中文字幕免费一页| 久久久精品国产一区二区| 国产精品久久久久av| 成人av.网址在线网站| 亚洲欧美变态国产另类| 欧美裸体男粗大视频在线观看| 国产成人综合一区二区三区| 中文字幕精品一区二区精品| 国产精品自拍偷拍| 亚洲免费视频观看| 日韩高清av在线| 国产欧美亚洲精品| 性欧美亚洲xxxx乳在线观看| 色爱精品视频一区| 国产视频精品免费播放| 久久久久中文字幕2018| 91精品久久久久久久久| 国产激情久久久| 国产精品久久久久久久app| 日韩美女av在线免费观看| 久久香蕉国产线看观看网| 日韩免费观看av| 国产精品嫩草影院一区二区| 久久这里有精品视频| 国产精品网址在线| 国产精品欧美日韩一区二区| 91av在线国产| 91福利视频在线观看| 免费97视频在线精品国自产拍| 欧美激情视频在线观看| 国产精品激情自拍| 国产精品爽爽爽| 两个人的视频www国产精品| 97久久久免费福利网址| 日韩av在线免费| 国产精品免费一区二区三区都可以| 欧美国产日韩xxxxx| 中文字幕欧美专区| 亚洲香蕉av在线一区二区三区| 国产欧美一区二区三区久久| 亚洲欧美在线播放| 亚洲国产美女精品久久久久∴| 亚洲精品资源美女情侣酒店| 亚洲丝袜一区在线| 亚洲成人黄色网址| 久久久在线观看| 国产精品福利小视频| 国内精品久久久久影院优| 8050国产精品久久久久久| 亚洲综合日韩中文字幕v在线| 欧美日韩在线免费观看| 中文字幕欧美日韩精品| 国产成人激情小视频| 久久这里只有精品99| 国产99久久精品一区二区永久免费| 国产亚洲激情在线| 久精品免费视频| 久久国产精品久久国产精品| 亚洲国产欧美一区二区丝袜黑人| 国产精品高清免费在线观看| 国产99在线|中文| 中文字幕日韩视频| 欧美日韩免费一区| 综合网日日天干夜夜久久| 精品无人区太爽高潮在线播放| 欧美日韩在线看| 久久69精品久久久久久久电影好| 日韩中文字幕精品| 久久精品影视伊人网| 亚洲色图15p| 亚洲精品成a人在线观看| 亚洲一区二区三区久久| 色综合色综合网色综合| 国产精品中文字幕在线观看| 久久精品国产一区二区三区| 国产视频综合在线| 国产精品揄拍500视频| 国产精品第一页在线| 国内成人精品视频| 久久九九全国免费精品观看| 97在线免费观看视频| 日本成人在线视频网址| 中文字幕精品在线| 国产精品三级美女白浆呻吟| www.欧美视频| 国产免费一区二区三区在线能观看| 成人性生交大片免费看视频直播| 日韩国产激情在线| 欧美俄罗斯乱妇| 欧美怡春院一区二区三区| 亚洲精品一区二区久| 欧美日韩电影在线观看| 欧美激情欧美狂野欧美精品| 中文字幕亚洲精品| 欧美精品日韩三级| 亚洲精品免费一区二区三区| 97在线观看免费高清| 欧美精品在线免费| 欧美亚洲另类制服自拍| 成人中文字幕在线观看| 成人午夜一级二级三级|