vsftp安裝記錄
vsftp安裝記錄
今天開始安裝FTP伺服器,先上www.chinaunix.net對FTP進行一番瞭解,在linux中主要有vsftp,proftp,pureftp等,但現在主流還是在用vsftp,雖然proftp在功能上可以比較強,但vsftp配置簡單,特別是安全性很好,所以現在ftp.redhat.com也使用vsftp,而且從redhat9開始,redhat中內建的也是vsftp,所以決定選用vsftp,並在chinaunix上把近期關於 vsftp的文章大概看了一下。vsftp以前我也裝過用的是rpm包,版本是1.2,今天決定找的最新的tar進行一番安裝。訪問官方網站,下載得最新版2.0.3,以下是安裝實錄。
0、由於我計劃安裝PAM模組,而我的REDHAT9是迷你安裝的,還需安裝pam-devel-0.75- 48.i386.rpm,否則產生的vsftpd中不含PAM模組,為了使用xinetd服務,要執行 rpm -ivh xinetd-2.3.10-6.i386.rpm
1、解包,進入目錄,詳細看了install,readme,faq等文章,瞭解到make前要先對builddefs.h進行一些設定,把不用的功能undef,需要的功能define
2、修改builddefs.h內容如下,其中紅色為修改過的,目的是為了使用tcpwrapper功能
#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
#endif /* VSF_BUILDDEFS_H */
注意每行前面的#不要清除,如果想啟用SSL,光#define VSF_BUILD_SSL還不行,有許多so檔案找不到,解決方案網上有介紹,我由於不關於SSL,所以這兒就不做記錄了。
3、make
4、make install,這個步驟其實就是把幾個檔案cp到目的處,用手工也行,intall文檔中有詳細說明,注意會提示cannot create regular file `/usr/local/man/man8/vsftpd.8': No such file or directory
,這是因為我的系統中沒有man8目錄,所以手工把它拷上即可。現在只是把執行檔案cp了一下,其它conf檔案還是要用工cp的。
5、按install的要求,還要建nobody,ftp使用者,建empty目錄,這些其實系統中已經有了,但mkdir /var/ftp要手工完成
6、cp vsftpd.conf /etc
7、預設已經設定為使用xinetd 啟動vsftp,這也是文檔中所推薦的,因為這可以使用xinetd的許多控制功能,但如果想提高效率,現在也有許多使用者把它設定在standone狀態,只要在vsftpd.conf中加入listen=YES,同時把xinetd.d可的vsftpd關閉即可。由於學校vsftp用量不大,所以決定使用xinetd方式
8、service xinetd restart重啟服務,vsftpd已經啟動了,並可以提供預設的匿名訪問服務。
9、由於在前面builddefs.h中預設是使用PAM認證機制的,在這種情況下,預設所有linux使用者都無法登入FTP伺服器(除了匿名),所以要執行 cp RedHat/vsftpd.pam /etc/pam.d/ftp (我不知道為什麼要改名為ftp,RPM包中名稱為vsftpd)
10、/etc/pam.d/ftp中有一行 file=/etc/ftpusers,與原RPM也不一樣,原來是file=/etc/vsftpd.ftpusers,所以建/etc/ftpusers,內容為禁止使用FTP的使用者名稱,一行一個使用者,如root等
11、最後就是編輯/etc/vsftpd.conf檔案了,我的檔案如下:
use_localtime=YES #否則時間相差8小時