一、前言
Linux 上有好不少軟體能夠搭建 FTP,例如 vsftpd、glftpd、proftpd 等。
我用過 vsftpd ,其他的不熟悉。看到 cr327 都是用 glftpd 建站,經過我的使用以及體會,發現 glftpd 在 FTP 管理上的確適合 BitUnionFTP,簡短介紹一下選擇 glftpd 做 BitUnionFtp 的原因。
vsftpd 是和 Linux 系統上使用者管理一樣的。所有的使用者管理都是在現有宿主系統上的使用者以及組管理相同。檔案許可權上的管理也是和 Linux 一模一樣。在搭建上比較快,簡單方便。但是對於 BitUnionFTP 帳號及限速管理上不是很方便。
glftpd 類似於一個封閉的小系統,除了支援標準 FTP 指令外,還能利用 site
指令集進行使用者管理、網站管理等等。整個系統可以方便的移植使用,它擁有自己的一套使用者和組管理,和宿主系統的使用者和組管理完全分離。站長在使用的時候完
全可以依賴 FTP 用戶端進行,不必深入瞭解 Linux 命令。
二、準備
目前使用 ubuntu 發行版較多,以此為例進行下面的介紹。
1.安裝 xinetd
glftpd 基於 網際網路服務管理,有自己的連接埠號碼進行訪問,所以事先需要安裝一個 網際網路服務管理的工具。xinetd
是個較好的選擇。可以通過源進行安裝。
| 代碼: |
[複製到剪貼簿] |
- sudo apt-get install xinetd
|
|
安裝之後會自動啟動 xinetd。
2.下載 glftpd 安裝包
glftpd 目前最新的版本是 2.01,2005-12-25 號更新。直接從網路上下載即可。
| 代碼: |
[複製到剪貼簿] |
- wget http://www.glftpd.com/files/glftpd-LNX_2.01.tgz
|
|
如果其他發行版請到 http://www.glftpd.com/
按需下載。
下載完成後進行解壓,並進入解壓後的目錄。
| 代碼: |
[複製到剪貼簿] |
- tar xvf glftpd-LNX_2.01.tgz
- cd glftpd-LNX_2.01/
|
|
準備工作完成。
三、安裝
安裝之前,需要取得 root
許可權。可以利用 sudo -i
或者 su
的方式獲得。後文均為取得 root
許可權後的執行命令。
安裝過程比較簡單,有詳細的安裝指令碼,只是詢問一些安裝的選項,按需選擇即可。如果想取消安裝按 Ctrl + C
即可。
運行安裝指令碼
上來是一些 glftpd 的介紹,提示按 enter
繼續。
(1)TCPD SETUP。
這個我不知道做什麼的,網上說是禁 IP 用的,具體我沒用過,直接 Y
安裝。
(2)JAIL SETUP。
是否安裝到一個封閉的環境?我們選擇 Y
,為了今後方便管理,這樣整個安裝好的
glftpd 就是個獨立的小系統,可以隨意 cp
到新地方使用,而保證使用者資訊帳號設定以及記錄檔都保留和繼承下去。接著會問需要安裝到什麼地方?可以放到 /srv
目錄下以訪問連接埠號碼命名檔案夾,比如我設定的就是 /srv/8002。也就是說 glftpd 就會安裝到 /srv/8002
這個檔案夾之下了。是否安裝私人組,設定組名稱,和有哪些使用者在這個私人組中?這些使用者和組設定是和宿主系統相關的。也就是說在設定該許可權內的使用者才可以
修改 glftpd 的檔案。事實上就是宿主系統上除 root 使用者以外的使用者對 glftpd 的修改許可權。直接 enter
過去就行了。因為在安裝之後都能夠通過 root 使用者重新設定或者修改。
(3)GLFTPD BASE SETUP。
選擇 glftpd 在封閉環境中的路徑,預設的 /glftpd 即可,直接 enter
。
(4)SERVICE SETUP & MULTI-INSTALL。
這裡會讓你輸入一個服務名,用於寫在 /etc/services
檔案中,可以隨意起。我這裡選擇的還是連接埠號碼命名,輸入 8002,目的是方便記憶和管理。因為我沒選擇預設的 glftpd 作為服務名,又蹦出來一個 ipc_key
,我隨便選了一個。
(5)COMPILING SOURCES & COPYING LIBS。
編譯源碼和複製庫檔案。沒有我們的事。
(6)PORT AND SYSTEM SETUP。
連接埠選擇,輸入 8002。服務管理,由於之前裝了 xinetd,按 X
,斷行符號。接著會問是否把周一設為星期的開始,這個隨意選擇。
(7)SSL/TLS SETUP。
我是一路斷行符號過去的。具體沒怎麼研究,就是一些歡迎資訊之類的。可以以後再修改。
(8)STARTING GLFTPD。
這步指令碼自動替我們完成了。不用管了。
(9)FINISH。
大功告成。指出了一些說明文檔的具體位置。
四、設定帳號
glftpd 預設有一個進階管理員賬戶,使用者名稱密碼均為 glftpd
。預設設定為只能本地登入,也就是說只有 glftpd 主機上的管理員才能登入。
登入方法:
8002 是連接埠號碼,當初設的什麼連接埠號碼就用什麼。
網上關於 glftpd 的帳號設定挺多的,我引一下 cr327
的文章 http://www.bitunion.org/viewthread.php?tid=10106545
,上面是比較全的設定,直接 cp 過來使用就行了。稍微改改參數即可。一樓回複的是命令的含義。
五、維護
aibu2 不幸風扇掛了,恰逢我需要主機開個新站,cr327 將修複這台機器的光榮任務交給了我。趁此機會,我又瞭解了一下比較合理的 glftpd 檔案結構。
glftpd 可以安裝在任何一個位置,但是為了更好的管理和方便移植,我們可以採取這樣的方式。以 aibu2 舉例,上面跑了三個 ftp 網站。/srv
目錄掛載了一塊 A 硬碟上的 1 分區,三個站的 glftpd 裝在 /srv
目錄下,以連接埠號碼命名。通過 mount
掛載,將 A 硬碟的其他分區 mount 到不同 glftpd 下的 site
目錄即可。或者將 B 硬碟 C 硬碟等 mount 到 site 目錄也可。這樣做到了配置和資料的分離,易於維護。
談談恢複 ftp 服務,前期有幾個工作需要做。
1.記下 /etc/services 中的 ftp 連接埠號碼。(<服務名> <連接埠>/tcp)
2.備份在 /etc/xinetd.d/ 目錄下除 chargen、daytime、discard、ehco、time 以外的設定檔。
3.備份 glftpd 的安裝檔案。
恢複的時候添加相應的連接埠號碼到 /etc/services
檔案中,複製 xinetd 備份檔案到 /etc/xinetd.d/
目錄中。mount glftpd 目錄到 /srv。
如果新 mount 的位置和移植前不同,可以修改 /etc/xinetd.d/
中的設定檔,檔案名稱就是服務名。檔案中 server_args
就是路徑位置,略作修改。
引用: |
想上傳中文檔案,需將 .conf 檔案中 path-filter 一行注釋掉即可 |
|