Linux下FTP服務(wù)器的安裝和配置(詳細(xì))_第1頁
Linux下FTP服務(wù)器的安裝和配置(詳細(xì))_第2頁
Linux下FTP服務(wù)器的安裝和配置(詳細(xì))_第3頁
Linux下FTP服務(wù)器的安裝和配置(詳細(xì))_第4頁
Linux下FTP服務(wù)器的安裝和配置(詳細(xì))_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Linux下FTP服務(wù)器的安裝和配置在Internet上FTP(File Transfer Protocol,文件傳輸協(xié)議)扮 演著十分重要的角色。我們可以通過FTP與遠(yuǎn)程機(jī)器傳輸交換文件數(shù) 據(jù),下載或上傳最新的軟件。基本的FTP服務(wù)器根據(jù)服務(wù)的對象可以分為兩 種,一種是Unix(當(dāng)然也包括Linux)系統(tǒng)基本的FTP服務(wù)器,使用者是服務(wù)器上合法的 用戶;而另一種是匿名FTP服務(wù)器(Anonmous FTP Service),任何人只要使用anonmous或ftp帳號并提供電子郵件地址作為口令就可以使用FTP服務(wù)。 對于系統(tǒng)中合法的用戶,其登錄目錄為他們的home目錄;如果是匿名用戶登錄的話,

2、登錄后會到/home/ftp這個(gè)目錄中,該除非我們在該目 錄中存放下載文件,否則匿名FTP使用者將不能做任何事情。在本章,我們將詳細(xì)地介紹FTP服務(wù)器的安裝、配置以及服務(wù) 器的維護(hù)。 安裝FTP服務(wù)器 在Linux的發(fā)行套件中都有FTP服務(wù)器的軟件包wu-ftpd(Washington University FTP server),這是目前最流行的一種免費(fèi)FTP服務(wù)器軟件,目前絕大多數(shù)的FTP站點(diǎn)都是由wu-ftpd來架設(shè)的,而wu-ftp如此流行的原因是因 為它強(qiáng)大的功能,例如: 可控制不同網(wǎng)域的機(jī)器對 FTP服務(wù)器的存取權(quán)限和訪問時(shí)段。 使用者在下載文件時(shí),可自動對文件進(jìn) 行壓縮或解壓縮工

3、作。 可以記錄文件上傳或下載的過程。 可以限制最高訪問人數(shù),以維持系統(tǒng)的最佳運(yùn)行效率。 可顯示相關(guān)的信息,以便用戶了解當(dāng)前的接收狀態(tài)。 可暫時(shí)關(guān)閉FTP服務(wù)器,以便系統(tǒng)維護(hù)。 在安裝系統(tǒng)時(shí)如果選擇了wu-ftpd軟件包,就會自動安裝。但如果我們想要使用最新的FTP軟件包的話,可以到全世界各大FTP站點(diǎn)下載。目 前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,請按照我們下面的步驟進(jìn)行安裝。 1.將wu-ftpd-2.5.0.tar.gz復(fù)制到臨時(shí)目錄中并解壓縮: # tar zxvf wu-ftpd-2.5.0.tar.gz 進(jìn)入解壓縮產(chǎn)生的目錄wu-

4、ftpd-2.5.0中,在開始安裝之前請仔細(xì)閱讀里面的README、INSTALL等文件,以便了解安裝需要注 意的事項(xiàng)。 2.執(zhí)行命令“bulid lnx”,編譯wu-ftpd-2.5.0的源程序。 # ./bulid lnx 這條命令將編譯Linux系統(tǒng)使用wu-ftpd所需的服務(wù)程序,如果一切正常的話,將產(chǎn)生如下幾個(gè)可執(zhí)行文件: ftpd FTP服務(wù)程序 ftpshut 關(guān)閉FTP服務(wù)的程序 ftpcount 顯示FTP 服務(wù)器目前連接的人數(shù)的程序 ftpwho 查看目前使用者 3執(zhí)行安裝命令“make install”,將編譯生成的可執(zhí)行文件和man pages安裝到系統(tǒng)中。 # mak

5、e install 4 修改/etc/inetd.conf文件,加入如下一行: ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l a 如果系統(tǒng)中以前安裝有wu-ftpd的話,這一步可以略去不做,安裝安裝程序會自動更新/etc/inetd.conf文件有關(guān)ftp的記錄 項(xiàng)。 5如果想為FTP用戶提供壓縮解壓縮的功能,我們還需要將tar、gzip、compress、cpio、sh等可執(zhí)行文件復(fù)制到/home /ftp/bin目錄下。此外,還需要將ls命令復(fù)制到/home/ftp/bin中,以便使用者查看目錄。 因?yàn)槲覀儚?fù)制到/home/ftp

6、/bin目錄下的程序有可能是動態(tài)鏈接的,所以它們運(yùn)行時(shí)還需要共享函數(shù)庫,我們要將他們運(yùn)行時(shí)需要用到的共 享庫復(fù)制到/home/frp/lib目錄中。檢查這些命令所需要的共享庫可以使用“l(fā)dd”命令。例如對于“l(fā)s”命令,我們使用“l(fā)dd /usr/bin/ls”命令就可以得到如下的輸出: # ldd /usr/bin/ls libc.so.6 = /lib/libc.so.6 ( 0x40003000 ) /lib/ld-linux.so.2 = /lib/ld-linux.so.2 ( 0x00000000 ) 這樣,我們就需要將/lib/libc.so.6和/lib/ld-linux.so

7、.2復(fù)制到/home/ftp/lib目錄中。其它命令所 需的共享庫您也可以參照上面的方法找出并復(fù)制到/home/etc/lib目錄中。 接下來復(fù)制/etc/passwd和/etc/group文件到/home/ftp/etc,并刪除其中任何個(gè)人用戶和個(gè)人用戶組的信息?;?上應(yīng)該按照下面的例子修改: #/home/ftp/etc/passwd文件 root:*:0:0: bin:*:1:1: operator:*:11:0: nobody:*:99:99: ftp:*:1000:1000: # /home/ftp/etc/group文件 root:0: bin:1: daemon:2: sys:

8、3: adm:4: ftp:1000: 6為了確保提供FTP服務(wù)不會給我們的系統(tǒng)帶來安全隱患,我們還需要采取以 下措施: # chmod 0555 /home/ftp # chmod 0111 /home/ftp/bin/* # chmod 0555 /home/ftp/lib/* # chmid 0444 /home/ftp/etc/* 配置FTP服務(wù)器 在安裝好wu-ftpd之后,我們還需要定制FTP服務(wù)器,使之實(shí)現(xiàn)我們上一節(jié)中提到的各種功能。為了使我們的FTP服務(wù)器實(shí)現(xiàn)這些功能,我們 需要修改ftpusers、ftpaccess、ftpconversions、xferlog、ftpgro

9、ups、ftphosts等系統(tǒng)配置文件。 下面我們就來看一看這些文件的功能以及配置它們的方法。 各配置文件的功能 在開始配置FTP服務(wù)器的配置文件之前,我們先來簡要地介紹一下各個(gè)文件的功能。在開包后的wu-ftpd-2.5.0目錄中的 doc/examples目錄下,我們可以找到以下這些文件的示例。 /etc/ftpaccess 一般情況下,我們最為重視的配置文件應(yīng)該是“ftpaccess”,因?yàn)樵撐募Q定著我們FTP服務(wù)器是否能夠正常工作。此外,我們還可以在這個(gè)系統(tǒng)參數(shù) 文件中設(shè)置多項(xiàng)有關(guān)使用權(quán)限記錄,以及與信息有關(guān)的文件名稱及路徑。 /etc/ftpusers 決定哪些人不可以執(zhí)行ftp命

10、令來傳輸文件,這些帳號通常是root、bin、news以及guest等有特殊用途的帳戶。 /etc/ftpconversions 配置該文件可以實(shí)現(xiàn)用戶在通過FTP傳輸文件的同時(shí),對文件進(jìn)行壓縮打包等處理。 /etc/ftphosts 決定哪些網(wǎng)絡(luò)中的主機(jī)或某些用戶不能訪問FTP服務(wù)器的文件。 /etc/ftpgroups 該文件不是決定哪些用戶組不能夠訪問FTP服務(wù)器,它只有在使用SITE GROUP功能時(shí)才有用。 /var/log/xferlog FTP日志文件。該文件將記錄使用匿名帳戶的用戶所上傳或下載的過的文件,該文件只是記錄FTP信息,我們不需要對它進(jìn)行配置。 大致了解了各個(gè)設(shè)置文件

11、的功能以后,我們就來為您介紹這些文件中的內(nèi)容以及學(xué)習(xí)如何配置。配置/etc/ftpaccess文件 我們前面介紹的wu-ftpd的大多數(shù)功能都是在ftpaccess文件中設(shè)置的。我們無須自己編寫該文件,doc/examples /ftpaccess.heavy是一個(gè)稍微修改一下就能適用于大多數(shù)FTP服務(wù)器的例子,所以下面我們將以這個(gè)示例文件為例為您介紹ftpaccess 文件的配置。 # wu-ftpd-2.5.0的/etc/ftpaccess示例文件ftpaccess.heavy # # 設(shè)置用戶登錄FTP服務(wù)器時(shí),允許輸錯(cuò)密碼的次數(shù)。 # loginfails 2表示允許用戶輸錯(cuò)兩次密碼,

12、如果兩次都輸入 # 錯(cuò)誤的話,F(xiàn)TP服務(wù)器打印“repeated login failures”的信息 # 并退出FTP會話過程。如不設(shè)置,則缺省值是5。 # loginfails 2 # # class是用來定義用戶級別的命令,它的格式為 # class . # FTP服務(wù)器上有三種類型的使用者,分別是“real”表示 # 在該FTP服務(wù)器上有合法帳號的用戶;“guest”表示另行 # 定義的某些使用組的使用者;“anonymous”權(quán)限最低的匿名 # 用戶。有了這三種使用者以后,在ftpaccess文件中就可以根據(jù)不 # 同的使用者設(shè)置不同的存取權(quán)限。但是,只有三種定義一般是不夠 # 的,

13、我們可以根據(jù)class的語法定義更多的控制命令。例如: # class remote real,guest,anonymous * # 這條class語句定義了remote中有三種不同的使用者,“*”表示網(wǎng)絡(luò) # 上所有的計(jì)算機(jī),也就是說任何人都可以訪問FTP服務(wù)器,一般的匿名 # FTP站點(diǎn)都應(yīng)該有這一項(xiàng)。如果我們希望某臺主機(jī)或網(wǎng)域中的機(jī)器具有 # 特殊的權(quán)限,那么我們可以設(shè)置如下的class: # class local real,guest,anonymous localhost # 這表示本地主機(jī)的類別被定義為local,當(dāng)我們從主機(jī)連上FTP服務(wù)器上 # 時(shí),就可以用較為特別的權(quán)限。

14、 # 下面是ftpaccess.heavy文件指定的兩個(gè)class,它們的意思是來自*.domain # 和本地主機(jī)被歸為local組,而其它的主機(jī)則是remote組。 # class local real,guest,anonymous *.domain class remote real,guest,anonymous * # # 我們可以使用limit命令設(shè)置某個(gè)時(shí)間段的FTP用戶數(shù)量,如果超出了 # 規(guī)定的人數(shù),則打印/etc/msgs/msgs.toomany文件并拒絕用戶登錄。例如: # limit local 20 Any /etc/msgs/msgs.rooma

15、ny # 就是限制local這個(gè)組的機(jī)器同時(shí)間內(nèi)最多允許20人連接FTP服務(wù)器,如果 # 超員,則打印/etc/msgs/msgs.toomany文件,顯示當(dāng)前在線人數(shù)太多。ftp的 # 說明文件都可以包含變量,在說明文件中可以使用“變量替換(magic # sookies)”以指定的字符串代替某個(gè)變量: # %T 本地時(shí)間 # %F CWD所在分區(qū)的剩余空間 # %C 當(dāng)前工作目錄 # %E 定義在ftpaccess文件中維護(hù)者的電子郵件地址 # %R 遠(yuǎn)端主機(jī)名稱 # %L 本地主機(jī)名稱 # %U 登錄時(shí)所給的用戶名稱 # %M 該class允許的最大使用者數(shù)目 # %N 該class目前

16、的使用者數(shù)目 # # 我們可以利用這些變量編輯一個(gè)顯示信息非常完善的說明文件。下面的 # 例子是設(shè)置當(dāng)local用戶在任何時(shí)候不能超過20人,remote用戶在周六 # 周日的18:00到6:00不能超過100人,否則將顯示/etc/msgs目錄下的 # msg.toomany文件的內(nèi)容。 # limit local 20 Any /etc/msgs/msg.toomany limit remote 100 SaSu|Any1800-0600 /etc/msgs/msg.toomany limit remote 60 Any /etc/msgs/msg.toomany # # readme命令

17、的作用是指定用戶登錄或進(jìn)行其它操作(如更換目錄)時(shí) # FTP服務(wù)器提示用戶閱讀的文件。 # readme README* login readme README* cwd=* # # messages命令主要是設(shè)置一些FTP的顯示信息,如下面的“message # /welcome.msg login”就是代表用戶登錄時(shí),將顯示/home/ftp目錄下的 # welcome.msg作為進(jìn)站畫面。我們要提醒您的是FTP服務(wù)器都是以 # /home/ftp這個(gè)目錄作為根目錄的,所以要寫成/welcome.msg。而 # “message .message cwd=*”則是定義用戶在更換目錄時(shí)將顯

18、示在目錄 # 下的文件。 # message /welcome.msg login message .message cwd=* # # 下面定義的允許從local和remote登錄的機(jī)器在傳輸文件時(shí),可執(zhí)行compress # 壓縮文件或使用tar命令將多個(gè)文件打包成一個(gè)文件。 # compress yes local remote tar yes local remote # # 是否允許通過SITE GROUP和SITE GPASS命令適用秘密文件 # allow use of private file for SITE GROUP and SITE GPASS? # private y

19、es # # 設(shè)置密碼檢查的規(guī)則。FTP服務(wù)器將要求匿名用戶使用其電子郵件 # 地址作為密碼,可是有人還是會胡亂輸入,所以我們可以使用passwd-check # 來查看用戶是否輸入一個(gè)類似于userhostname的E- mail地址:none表 # 示不進(jìn)行密碼檢查; trivial表示密碼必須含有“”;而使用rfc822時(shí), # 表示密碼必須滿足rfc822規(guī)定的地址。當(dāng)密碼不合要求時(shí),warn將給予 # 警告,但依然允許他們登錄,而enforce則表示警告并使用戶退出。# # passwd-check passwd-check rfc822 warn # # log commands

20、記錄類型(可以是anonymous、 # guest和real)用戶使用的命令。Log transfer # 記錄類型的用戶做的(可以為inbound傳進(jìn)服務(wù)器、 # outbound傳出服務(wù)器)方向的文件傳輸。 # log commands real log transfers anonymous,real inbound,outbound # # 如果shutdown指定的文件存在,F(xiàn)TP服務(wù)器將定期檢查文件 # 以查看服務(wù)器是否預(yù)定關(guān)閉。文件的格式為: # # 和的意思是在服務(wù)器關(guān)閉前多長時(shí)間新的登錄 # 請求和現(xiàn)存的連接將被拒絕和終止。是對拒絕連接的用戶的一段信息。 # 如: # 19

21、99 10 25 00:00 0010 0005 # System shutdown at %s # 表示1999年10月25日00:00關(guān)閉FTP服務(wù)器,10分鐘以前拒絕連接,5分鐘 # 以前中斷正在連接的FTP服務(wù)。外部程序ftpshut可以用來產(chǎn)生文件, # 例如上面的文件可以通過如下的命令來產(chǎn)生: # ftpshut 0000 # shutdown /etc/shutmsg # # 設(shè)置用戶在FTP服務(wù)器上可以使用的命令,我們可以看到下面所有的 # 命令后面都是“no”,也就是說guest用戶不能使用delete、overwrite、 # rename命令,而anonymous則都不能

22、使用。只有real用戶可以使用這些命令。 # all the following default to yes for everybody # delete no guest,anonymous # delete permission? overwrite no guest,anonymous # overwrite permission? rename no guest,anonymous # rename permission? chmod no anonymous # chmod permission? umask no anonymous # umask permission? # #

23、 設(shè)置用戶上傳文件的目錄。下面例子中/var/ftp目錄下的/incoming目錄可以 # 用來上傳文件,上傳文件的屬主是root,組別是daemon,讀取權(quán)限是0600, # dirs表示在/incoming目錄中可以創(chuàng)建子目錄。 # specify the upload directory information # upload /var/ftp * no nobody nogroup 0000 nodirs upload /var/ftp /bin no upload /var/ftp /etc no upload /var/ftp /incoming yes root daemon

24、0600 dirs # # 為/incoming目錄設(shè)置路徑別名為inc:,用戶在任何時(shí)候只要使用命令 # “cd inc:”就可以到達(dá)/incoming目錄。 # directory aliases. note, the : is not required # alias inc: /incoming # cdpath主要定義在改變目錄時(shí)使用的搜索路徑。如果我們定義: # cdpath /incoming/test、cdpath /pub、cdpath /,那么用戶在任意路徑 # 隨便cd到一個(gè)目錄,比如cd test,那么將依次搜尋: # /incoming/test # /pub/tes

25、t # /test # 以尋找一個(gè)符合test目錄的路徑。 # cdpath /incoming cdpath /pub cdpath / # # path-filter的功能是檢查用戶上傳文件的文件名是否合法,如下面 # 第一條命令就是指定所有的匿名用戶上傳文件的文件名只能是以 # A-Z、a-z、0-9以及“._-”組成,而不能以一個(gè)“.”或是一個(gè)“-”開始。 # 如果文件名不合法,將顯示/etc/pathmsg給該用戶。 # path-filter anonymous /etc/pathmsg -A-Za-z0-9_.*$ . - path-filter guest /etc/pathm

26、sg -A-Za-z0-9_.*$ . - # # 設(shè)置guest用戶 # specify which group of users will be treated as guests. # guestgroup ftponly # # FTP服務(wù)器管理員的郵件地址 # email userhostname 以上是一些ftpaccess常用的設(shè)置,您也可以參考ftpaccess的man pagse來獲得更詳細(xì)的配置信息。 配置/etc/ftpusers和/etc/ftphosts文件 通過ftpusers文件,我們可以限制系統(tǒng)中有哪些用戶不能使用ftp服務(wù),ftphosts文件與之類似,所不同

27、的是該文件中記錄的是不能 訪問FTP服務(wù)器的主機(jī)。通常這樣做的目的都是出于系統(tǒng)安全的考慮。Wu-ftpd 為我們準(zhǔn)備有這兩個(gè)文件的示例,我們可以在examples 目錄中找到它們。下面是ftpusers文件設(shè)置的例子: # 禁止使用FTP服務(wù)的用戶 root bin boot daemon digital field gateway guest nobody operator ris sccs sys uucp限制這些用戶使用FTP服務(wù)器主要是基于系統(tǒng)安全的考慮,避免權(quán)利過大的用戶(如root、ftpadm)登錄FTP服務(wù)器和避免使用系統(tǒng)命令作為 帳號(如shutdown、sync),以避免系

28、統(tǒng)管理上的困惑。我們可以根據(jù)自己使用的需要,向該文件中增加或刪除用戶并將它復(fù)制到/etc目錄中。 如果我們要架設(shè)的是匿名FTP服務(wù)器,那么通常不需要設(shè)置ftphosts文件,對于其它類型的FTP服務(wù)器可以參考 examples/ftphosts文件的格式結(jié)合自己的情況加以修改,然后復(fù)制到/etc目錄中即可。下面是examples/ftphosts文件, 該文件允許網(wǎng)絡(luò)somehost.domain中的用戶ftp訪問FTP服務(wù)器(somehost.domain可以是IP地址或域名)而禁止網(wǎng)絡(luò) otherhost.domain和網(wǎng)絡(luò)131.211.32.*中的用戶fred使用FTP服務(wù)。 # #

29、ftphosts文件配置示例,allow和deny的格式分別為: # allow # deny # # 以“#”開頭的均為注釋,空行將被忽略 # allow ftp somehost.domain deny fred otherhost.domain 131.211.32.* 配置/etc/ftpconversions文件 ftpconversions文件主要定義用戶從FTP服務(wù)器中下載文件時(shí)對文件進(jìn)行格式轉(zhuǎn)換的規(guī)則。例如壓縮、解壓縮、打包和開包等操作,這 樣用戶就不必為.tar.gz、.tgz、.Z、.z之類的文件傷腦筋了。Ftpconversions文件的格式初看上去很復(fù)雜,不過不用擔(dān) 心

30、,/examples目錄中也有該文件的例子,我們只要原封不動的將它復(fù)制到/etc目錄中就能滿足我們的使用需要了。下面讓我們來看看 ftpconversions文件中各個(gè)記錄項(xiàng),有關(guān)各項(xiàng)的說明我們羅列在表14-1中: # # ftpconversions文件示例 # # :.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP : : :.gz:/bin/gzip

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論