時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
在Internet上FTP(File Transfer Protocol,文件傳輸協(xié)議)扮演著十分重要的角色。我們可以通過(guò)FTP與遠(yuǎn)程機(jī)器傳輸交換文件數(shù)據(jù),下載或上傳最新的軟件。基本的FTP服務(wù)器根據(jù)服務(wù)的對(duì)象可以分為兩種,一種是Unix(當(dāng)然也包括Linux)系統(tǒng)基本的FTP服務(wù)器,使用者是服務(wù)器上合法的用戶;而另一種是匿名FTP服務(wù)器(Anonmous FTP Service),任何人只要使用anonmous或ftp帳號(hào)并提供電子郵件地址作為口令就可以使用FTP服務(wù)。
對(duì)于系統(tǒng)中合法的用戶,其登錄目錄為他們的home目錄;如果是匿名用戶登錄的話,登錄后會(huì)到/home/ftp這個(gè)目錄中,該除非我們?cè)谠撃夸浿写娣畔螺d文件,否則匿名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來(lái)架設(shè)的,而wu-ftp如此流行的原因是因?yàn)樗鼜?qiáng)大的功能,例如:
·可控制不同網(wǎng)域的機(jī)器對(duì) FTP服務(wù)器的存取權(quán)限和訪問(wèn)時(shí)段。
·使用者在下載文件時(shí),可自動(dòng)對(duì)文件進(jìn)行壓縮或解壓縮工作。
·可以記錄文件上傳或下載的過(guò)程。
·可以限制最高訪問(wèn)人數(shù),以維持系統(tǒng)的最佳運(yùn)行效率。
·可顯示相關(guān)的信息,以便用戶了解當(dāng)前的接收狀態(tài)。
·可暫時(shí)關(guān)閉FTP服務(wù)器,以便系統(tǒng)維護(hù)。
在安裝系統(tǒng)時(shí)如果選擇了wu-ftpd軟件包,就會(huì)自動(dòng)安裝。但如果我們想要使用最新的FTP軟件包的話,可以到全世界各大FTP站點(diǎn)下載。目前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,請(qǐng)按照我們下面的步驟進(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-ftpd-2.5.0中,在開(kāi)始安裝之前請(qǐng)仔細(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)中。
# make install
4. 修改/etc/inetd.conf文件,加入如下一行:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a
如果系統(tǒng)中以前安裝有wu-ftpd的話,這一步可以略去不做,安裝安裝程序會(huì)自動(dòng)更新/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/bin目錄下的程序有可能是動(dòng)態(tài)鏈接的,所以它們運(yùn)行時(shí)還需要共享函數(shù)庫(kù),我們要將他們運(yùn)行時(shí)需要用到的共享庫(kù)復(fù)制到/home/frp/lib目錄中。檢查這些命令所需要的共享庫(kù)可以使用"ldd"命令。例如對(duì)于"ls"命令,我們使用"ldd /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.2復(fù)制到/home/ftp/lib目錄中。其它命令所需的共享庫(kù)您也可以參照上面的方法找出并復(fù)制到/home/etc/lib目錄中。
接下來(lái)復(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::3:
adm::4:
ftp::1000:
6.為了確保提供FTP服務(wù)不會(huì)給我們的系統(tǒng)帶來(lái)安全隱患,我們還需要采取以下措施:
# 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、ftpgroups、ftphosts等系統(tǒng)配置文件。下面我們就來(lái)看一看這些文件的功能以及配置它們的方法。
各配置文件的功能
在開(kāi)始配置FTP服務(wù)器的配置文件之前,我們先來(lái)簡(jiǎn)要地介紹一下各個(gè)文件的功能。在開(kāi)包后的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命令來(lái)傳輸文件,這些帳號(hào)通常是root、bin、news以及guest等有特殊用途的帳戶。
/etc/ftpconversions 配置該文件可以實(shí)現(xiàn)用戶在通過(guò)FTP傳輸文件的同時(shí),對(duì)文件進(jìn)行壓縮打包等處理。
/etc/ftphosts 決定哪些網(wǎng)絡(luò)中的主機(jī)或某些用戶不能訪問(wèn)FTP服務(wù)器的文件。
/etc/ftpgroups 該文件不是決定哪些用戶組不能夠訪問(wèn)FTP服務(wù)器,它只有在使用SITE GROUP功能時(shí)才有用。
/var/log/xferlog FTP日志文件。該文件將記錄使用匿名帳戶的用戶所上傳或下載的過(guò)的文件,該文件只是記錄FTP信息,我們不需要對(duì)它進(jìn)行配置。
大致了解了各個(gè)設(shè)置文件的功能以后,我們就來(lái)為您介紹這些文件中的內(nèi)容以及學(xué)習(xí)如何配置。
#p#副標(biāo)題#e#
配置/etc/ftpaccess文件
我們前面介紹的wu-ftpd的大多數(shù)功能都是在ftpaccess文件中設(shè)置的。我們無(wú)須自己編寫(xiě)該文件,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ò)兩次密碼,如果兩次都輸入
# 錯(cuò)誤的話,F(xiàn)TP服務(wù)器打印"repeated login failures"的信息
# 并退出FTP會(huì)話過(guò)程。如不設(shè)置,則缺省值是5。
#
loginfails 2
#
# class是用來(lái)定義用戶級(jí)別的命令,它的格式為
# class
# FTP服務(wù)器上有三種類型的使用者,分別是"real"——表示
# 在該FTP服務(wù)器上有合法帳號(hào)的用戶;"guest"——表示另行
# 定義的某些使用組的使用者;"anonymous"——權(quán)限最低的匿名
# 用戶。有了這三種使用者以后,在ftpaccess文件中就可以根據(jù)不
# 同的使用者設(shè)置不同的存取權(quán)限。但是,只有三種定義一般是不夠
# 的,我們可以根據(jù)class的語(yǔ)法定義更多的控制命令。例如:
# class remote real,guest,anonymous *
# 這條class語(yǔ)句定義了remote中有三種不同的使用者,"*"表示網(wǎng)絡(luò)
# 上所有的計(jì)算機(jī),也就是說(shuō)任何人都可以訪問(wèn)FTP服務(wù)器,一般的匿名
# FTP站點(diǎn)都應(yīng)該有這一項(xiàng)。如果我們希望某臺(tái)主機(jī)或網(wǎng)域中的機(jī)器具有
# 特殊的權(quán)限,那么我們可以設(shè)置如下的class:
# class local real,guest,anonymous localhost
# 這表示本地主機(jī)的類別被定義為local,當(dāng)我們從主機(jī)連上FTP服務(wù)器上
# 時(shí),就可以用較為特別的權(quán)限。
# 下面是ftpaccess.heavy文件指定的兩個(gè)class,它們的意思是來(lái)自*.domain
# 和本地主機(jī)被歸為local組,而其它的主機(jī)則是remote組。
#
class local real,guest,anonymous *.domain 0.0.0.0
class remote real,guest,anonymous *
#
# 我們可以使用limit命令設(shè)置某個(gè)時(shí)間段的FTP用戶數(shù)量,如果超出了
# 規(guī)定的人數(shù),則打印/etc/msgs/msgs.toomany文件并拒絕用戶登錄。例如:
# limit local 20 Any /etc/msgs/msgs.roomany
# 就是限制local這個(gè)組的機(jī)器同時(shí)間內(nèi)最多允許20人連接FTP服務(wù)器,如果
# 超員,則打印/etc/msgs/msgs.toomany文件,顯示當(dāng)前在線人數(shù)太多。ftp的
# 說(shuō)明文件都可以包含變量,在說(shuō)明
關(guān)鍵詞標(biāo)簽:linux,ftp服務(wù)器
相關(guān)閱讀
熱門(mén)文章 Linux下FTP的配置與應(yīng)用 什么是ftp及ftp服務(wù)器 FTP出錯(cuò)解決和分析 Windows內(nèi)置FTP服務(wù)器高級(jí)配置
人氣排行 vsftp配置大全---超完整版 IIS6.0打造FTP服務(wù)器完全圖文詳解 使用Win 2003搭建安全文件服務(wù)器 圖解Windows xp—FTP服務(wù)器配置 linux服務(wù)samba的詳細(xì)配置 在Windows 2003下搭建FTP服務(wù)器 FTP登陸錯(cuò)誤詳解 Windows內(nèi)置FTP服務(wù)器高級(jí)配置