時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
在Internet上FTP(File Transfer Protocol,文件傳輸協(xié)議)扮演著十分重要的角色。我們可以通過FTP與遠程機器傳輸交換文件數(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目錄;如果是匿名用戶登錄的話,登錄后會到/home/ftp這個目錄中,該除非我們在該目錄中存放下載文件,否則匿名FTP使用者將不能做任何事情。在本章,我們將詳細地介紹FTP服務(wù)器的安裝、配置以及服務(wù)器的維護。
安裝FTP服務(wù)器
在Linux的發(fā)行套件中都有FTP服務(wù)器的軟件包wu-ftpd(Washington University FTP server),這是目前最流行的一種免費FTP服務(wù)器軟件,目前絕大多數(shù)的FTP站點都是由wu-ftpd來架設(shè)的,而wu-ftp如此流行的原因是因為它強大的功能,例如:
·可控制不同網(wǎng)域的機器對 FTP服務(wù)器的存取權(quán)限和訪問時段。
·使用者在下載文件時,可自動對文件進行壓縮或解壓縮工作。
·可以記錄文件上傳或下載的過程。
·可以限制最高訪問人數(shù),以維持系統(tǒng)的最佳運行效率。
·可顯示相關(guān)的信息,以便用戶了解當(dāng)前的接收狀態(tài)。
·可暫時關(guān)閉FTP服務(wù)器,以便系統(tǒng)維護。
在安裝系統(tǒng)時如果選擇了wu-ftpd軟件包,就會自動安裝。但如果我們想要使用最新的FTP軟件包的話,可以到全世界各大FTP站點下載。目前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,請按照我們下面的步驟進行安裝。
1.將wu-ftpd-2.5.0.tar.gz復(fù)制到臨時目錄中并解壓縮:
# tar zxvf wu-ftpd-2.5.0.tar.gz
進入解壓縮產(chǎn)生的目錄wu-ftpd-2.5.0中,在開始安裝之前請仔細閱讀里面的README、INSTALL等文件,以便了解安裝需要注意的事項。
2.執(zhí)行命令"bulid lnx",編譯wu-ftpd-2.5.0的源程序。
# ./bulid lnx
這條命令將編譯linux系統(tǒng)使用wu-ftpd所需的服務(wù)程序,如果一切正常的話,將產(chǎn)生如下幾個可執(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的話,這一步可以略去不做,安裝安裝程序會自動更新/etc/inetd.conf文件有關(guān)ftp的記錄項。
5.如果想為FTP用戶提供壓縮解壓縮的功能,我們還需要將tar、gzip、compress、cpio、sh等可執(zhí)行文件復(fù)制到/home/ftp/bin目錄下。此外,還需要將ls命令復(fù)制到/home/ftp/bin中,以便使用者查看目錄。
因為我們復(fù)制到/home/ftp/bin目錄下的程序有可能是動態(tài)鏈接的,所以它們運行時還需要共享函數(shù)庫,我們要將他們運行時需要用到的共享庫復(fù)制到/home/frp/lib目錄中。檢查這些命令所需要的共享庫可以使用"ldd"命令。例如對于"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目錄中。其它命令所需的共享庫您也可以參照上面的方法找出并復(fù)制到/home/etc/lib目錄中。
接下來復(fù)制/etc/passwd和/etc/group文件到/home/ftp/etc,并刪除其中任何個人用戶和個人用戶組的信息;旧蠎(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ù)不會給我們的系統(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ù)器,使之實現(xiàn)我們上一節(jié)中提到的各種功能。為了使我們的FTP服務(wù)器實現(xiàn)這些功能,我們需要修改ftpusers、ftpaccess、ftpconversions、xferlog、ftpgroups、ftphosts等系統(tǒng)配置文件。下面我們就來看一看這些文件的功能以及配置它們的方法。
各配置文件的功能
在開始配置FTP服務(wù)器的配置文件之前,我們先來簡要地介紹一下各個文件的功能。在開包后的wu-ftpd-2.5.0目錄中的doc/examples目錄下,我們可以找到以下這些文件的示例。
/etc/ftpaccess 一般情況下,我們最為重視的配置文件應(yīng)該是"ftpaccess",因為該文件決定著我們FTP服務(wù)器是否能夠正常工作。此外,我們還可以在這個系統(tǒng)參數(shù)文件中設(shè)置多項有關(guān)使用權(quán)限記錄,以及與信息有關(guān)的文件名稱及路徑。
/etc/ftpusers 決定哪些人不可以執(zhí)行ftp命令來傳輸文件,這些帳號通常是root、bin、news以及guest等有特殊用途的帳戶。
/etc/ftpconversions 配置該文件可以實現(xiàn)用戶在通過FTP傳輸文件的同時,對文件進行壓縮打包等處理。
/etc/ftphosts 決定哪些網(wǎng)絡(luò)中的主機或某些用戶不能訪問FTP服務(wù)器的文件。
/etc/ftpgroups 該文件不是決定哪些用戶組不能夠訪問FTP服務(wù)器,它只有在使用SITE GROUP功能時才有用。
/var/log/xferlog FTP日志文件。該文件將記錄使用匿名帳戶的用戶所上傳或下載的過的文件,該文件只是記錄FTP信息,我們不需要對它進行配置。
大致了解了各個設(shè)置文件的功能以后,我們就來為您介紹這些文件中的內(nèi)容以及學(xué)習(xí)如何配置。
#p#副標(biāo)題#e#
配置/etc/ftpaccess文件
我們前面介紹的wu-ftpd的大多數(shù)功能都是在ftpaccess文件中設(shè)置的。我們無須自己編寫該文件,doc/examples/ftpaccess.heavy是一個稍微修改一下就能適用于大多數(shù)FTP服務(wù)器的例子,所以下面我們將以這個示例文件為例為您介紹ftpaccess文件的配置。
# wu-ftpd-2.5.0的/etc/ftpaccess示例文件ftpaccess.heavy
#
# 設(shè)置用戶登錄FTP服務(wù)器時,允許輸錯密碼的次數(shù)。
# loginfails 2表示允許用戶輸錯兩次密碼,如果兩次都輸入
# 錯誤的話,F(xiàn)TP服務(wù)器打印"repeated login failures"的信息
# 并退出FTP會話過程。如不設(shè)置,則缺省值是5。
#
loginfails 2
#
# class是用來定義用戶級別的命令,它的格式為
# class <class> <typelist> <addrglob> [ <addrglob>….]
# FTP服務(wù)器上有三種類型的使用者,分別是"real"——表示
# 在該FTP服務(wù)器上有合法帳號的用戶;"guest"——表示另行
# 定義的某些使用組的使用者;"anonymous"——權(quán)限最低的匿名
# 用戶。有了這三種使用者以后,在ftpaccess文件中就可以根據(jù)不
# 同的使用者設(shè)置不同的存取權(quán)限。但是,只有三種定義一般是不夠
# 的,我們可以根據(jù)class的語法定義更多的控制命令。例如:
# class remote real,guest,anonymous *
# 這條class語句定義了remote中有三種不同的使用者,"*"表示網(wǎng)絡(luò)
# 上所有的計算機,也就是說任何人都可以訪問FTP服務(wù)器,一般的匿名
# FTP站點都應(yīng)該有這一項。如果我們希望某臺主機或網(wǎng)域中的機器具有
# 特殊的權(quán)限,那么我們可以設(shè)置如下的class:
# class local real,guest,anonymous localhost
# 這表示本地主機的類別被定義為local,當(dāng)我們從主機連上FTP服務(wù)器上
# 時,就可以用較為特別的權(quán)限。
# 下面是ftpaccess.heavy文件指定的兩個class,它們的意思是來自*.domain
# 和本地主機被歸為local組,而其它的主機則是remote組。
#
class local real,guest,anonymous *.domain 0.0.0.0
class remote real,guest,anonymous *
#
# 我們可以使用limit命令設(shè)置某個時間段的FTP用戶數(shù)量,如果超出了
# 規(guī)定的人數(shù),則打印/etc/msgs/msgs.toomany文件并拒絕用戶登錄。例如:
# limit local 20 Any /etc/msgs/msgs.roomany
# 就是限制local這個組的機器同時間內(nèi)最多允許20人連接FTP服務(wù)器,如果
# 超員,則打印/etc/msgs/msgs.toomany文件,顯示當(dāng)前在線人數(shù)太多。ftp的
# 說明文件都可以包含變量,在說明
關(guān)鍵詞標(biāo)簽:linux,ftp服務(wù)器
相關(guān)閱讀
熱門文章 Linux文件傳送命令SCP(Secure Copy)圖解Windows xp—FTP服務(wù)器配置在Windows 2003下搭建FTP服務(wù)器使用CesarFTP架設(shè)FTP服務(wù)器
人氣排行 vsftp配置大全---超完整版IIS6.0打造FTP服務(wù)器完全圖文詳解使用Win 2003搭建安全文件服務(wù)器圖解Windows xp—FTP服務(wù)器配置在Windows 2003下搭建FTP服務(wù)器linux服務(wù)samba的詳細配置Windows內(nèi)置FTP服務(wù)器高級配置Windows XP系統(tǒng)下架設(shè)FTP服務(wù)器的步驟