第一步:下載vsftpd的RPM包
你可以從下面兩個(gè)地方獲得最新的vsftpd的RPM包 Redhat's rpm collection 或者 rpmfind.net.為了你的方便, 你也可以使用wget從本站下載vsftpd的rpm包到你的本地電腦.
wget http://www.vsftpdrocks.org/vsftpd-1.1.3-8.i386.rpm
一但有了vsftpd的RPM包,你就可以安裝它
rpm -Uvh vsftpd-1.1.3-8.i386.rpm
就這樣. Vsftpd現(xiàn)在正式安裝.
第二步:啟動(dòng)并在"standalone"模式下進(jìn)行測(cè)試
vi /etc/vsftpd/vsftpd.conf
添加下面一行, 或者查看文件確定存在下面一行:
listen=YES
保存并退出.
現(xiàn)在來(lái)啟動(dòng)vsftpd...
/usr/sbin/vsftpd
現(xiàn)在來(lái)用ftp命令至你的服務(wù)器. 你可以看到如下面這下樣的成功登陸后的會(huì)話信息:
[root@somehost]ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 1.2.1)
Name (localhost:admin): bobsmith (很明顯,你必須使用在你的服務(wù)器上的有效用戶)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
150 Here comes the directory listing.
-rw-r--r-- 1 1001 1001 25372 Jan 17 18:50 somefile.tar.gz
drwx------ 2 1001 1001 512 Jan 16 19:16 index.htm
226 Directory send OK.
ftp> quit
221 Goodbye.
[root@somehost]
如果你準(zhǔn)備就緒的話,就可以看到類似于上面的返回信息 ! 如果你想讓你的FTP服務(wù)器運(yùn)行在 inetd或xinetd上, 那么你就需要繼續(xù)進(jìn)行下面的測(cè)試. 我個(gè)人推薦將FTP服務(wù)器運(yùn)行在 inetd或xinetd上.
第三步:為inetd/xinetd操作進(jìn)行配置
要在inetd或xinetd配置vsftpd,要進(jìn)行下面的操作:
首先,來(lái)編輯/etc/vsftpd.conf,并告訴它vsftpd沒有運(yùn)行在"standalone"模式:
vi /etc/vsftpd/vsftpd.conf
確認(rèn)下行的存在并將其設(shè)置為 "NO":
listen=NO
如果你在運(yùn)行inetd,進(jìn)行下面的操作:
vi /etc/inetd.conf
如果文件有包含任何“ftp"行的存在, 請(qǐng)注釋或刪除掉它們,并添加入下面一行:
ftp stream tcp nowait root /usr/local/sbin/vsftpd vsftpd
保存并退出.
現(xiàn)在重啟inetd:
/etc/rc.d/init.d/inetd restart
如果你的xinetd正在運(yùn)行,進(jìn)行下面的操作:
Redhat用戶:
vi /etc/xinetd.d/vsftpd
# default: off
# description: The vsftpd FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
nice = 10
}
保存并退出.
現(xiàn)在停止并重啟xinetd...
/etc/rc.d/init.d/xinetd restart
現(xiàn)在來(lái)測(cè)試inetd/xinetd ftp服務(wù)器:
[root@somehost]ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 1.2.1)
Name (localhost:admin): bobsmith (很明顯,你必須使用在你的服務(wù)器上的有效用戶)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
150 Here comes the directory listing.
-rw-r--r-- 1 1001 1001 25372 Jan 17 18:50 somefile.tar.gz
drwx------ 2 1001 1001 512 Jan 16 19:16 index.htm
226 Directory send OK.
ftp> quit
221 Goodbye.
[root@somehost]
如果你準(zhǔn)備就緒的話,就可以看到類似于上面的返回信息 ! 恭喜,你的FTP服務(wù)器已經(jīng)正常運(yùn)行! 在接下來(lái)的步驟, 我們將調(diào)整vsftpd的配置讓其擁有最好的性能.
第四步:vsftpd主配置文件
vsftpd主要配置應(yīng)該是在:/etc/vsftpd.conf. 這個(gè)文件將決定如何對(duì)你的vsftpd FTP服務(wù)器進(jìn)行操作. 你必須在vsftpd.conf中查找是否包含下面的配置選項(xiàng)。我雖然不能講訴所有的選面,但是列表中列出來(lái)了vsftpd配置的重要部分 :
anonymous_enable=NO/YES
這個(gè)開關(guān)用于開啟FTP的匿名訪問. 如果將該選項(xiàng)打開,那么請(qǐng)按照第三步的方法進(jìn)行匿名匿名服務(wù)的配置. 如果你不清楚什么是匿名FTP服務(wù),最好把該選項(xiàng)選項(xiàng)設(shè)置為“ON”
local_enable=NO/YES
啟用或禁用這個(gè)選項(xiàng),可以使本地系統(tǒng)用戶FTP至你的服務(wù)器. 典型的FTP服務(wù)器會(huì)將其設(shè)置為"YES". 我認(rèn)為只有一種可以選"NO",
write_enable=NO/YES
啟用或禁用FTP的寫入功能.你必須將其設(shè)置為"YES" .
local_umask=022 (或者根據(jù)你的需要設(shè)置)
vsftpd默認(rèn)的umask為:077. 它決定目錄和文件被創(chuàng)建時(shí)得到的初始權(quán)限
xferlog_enable=YES
這個(gè)選項(xiàng)是啟用或禁用服務(wù)器的上傳下載日志記錄.
ftpd_banner=Welcome to blah FTP service
沒有任何形式來(lái)界定該選項(xiàng), 但它可以為你的FTP服務(wù)器定制一個(gè)更加友好的問候.
chroot_list_enable=NO/YES
chroot_list_file=/etc/vsftpd.chroot_list
這是一個(gè)對(duì)于開啟了"chroot"選項(xiàng)相當(dāng)重要的功能. 當(dāng) "chroot_list_enable" 設(shè)置為"YES"時(shí), vsftpd會(huì)尋找在 "chroot_list_file"指定的下一行位置. 被列出在"/etc/vsftpd.chroot_list" 文件中的任何用戶,會(huì)自動(dòng)的"chrooted"至他們的主目錄. 這將禁止用戶進(jìn)入除了他或她們用戶主目錄之外的任何位置. 非常適用于共享的FTP環(huán)境或者安全與保密性一般的層面.
userlist_enable=NO/YES
userlist_deny=NO/YES
"userlist_enable"選項(xiàng)是用于控制下面兩個(gè)文件中其中的一個(gè): vsftpd.ftpusers和 vsftpd.user_list.如果這個(gè)選項(xiàng)設(shè)置為 "YES", 這兩個(gè)文件將列出用戶名單將允許訪問FTP服務(wù). 不管怎樣,當(dāng)額外加上"userlist_deny=YES"時(shí),這兩個(gè)文件將列出用戶名單將不允許訪問FTP服務(wù).這個(gè)選項(xiàng)是一個(gè)非常有用的徹底拒絕通過ftp獲取關(guān)鍵系統(tǒng)用戶的功能.比如"root"或"apche"或"www"這樣的用戶. 對(duì)于你的FTP服務(wù)器的安全是一個(gè)非常好的用途.
第五步: vsftpd.ftpusers, vsftpd.user_list 配置文件
這兩個(gè)文件直接與/etc/vsftpd.conf配置文件中的""userlist_enable" 和"userlist_deny"選項(xiàng)關(guān)聯(lián).當(dāng)"userlist_enable"選項(xiàng)設(shè)置為 "YES"時(shí), 這兩個(gè)文件列表中的用戶將允許訪問FTP服務(wù)器. 不管怎樣, 當(dāng)額外加上"userlist_deny=YES"選項(xiàng)時(shí),這兩個(gè)文件列表中的用戶將不允許訪問FTP服務(wù)器. 當(dāng)"userlist_deny"選項(xiàng)被使用時(shí),決定一個(gè)有戶是否被FTP服務(wù)拒絕,主要取決于它存在于上述兩個(gè)文件中的其中的哪一個(gè).
如果一個(gè)用戶同時(shí)存在于"vsftpd.user_list"與"userlist_deny",當(dāng)用戶試圖連接FTP服務(wù)器時(shí),它們?cè)陂_始請(qǐng)求FTP連接時(shí) 得不到密碼提示并會(huì)被拒絕.
如果一個(gè)用戶同時(shí)存在于"vsftpd.user_list"與"userlist_deny", 用戶必須登陸后更改這一密碼提示.
就個(gè)人而言, 我更喜歡使用 "vsftpd.user_list"來(lái)建立用戶列表(root, apache, www, nobody等等.) 如果有誰(shuí)從未見到密碼提示,那么他應(yīng)該進(jìn)行FTP的初始化連接.
第六步: vsftpd.chroot_list 配置文件
"vsfrtpd.chroot_list", 當(dāng)啟用"chroot_list_enable"選項(xiàng)時(shí), 為FTP建立的用戶列表文件,不管是誰(shuí),都必須被 "chrooted"至主FTP目錄. 那些用戶不能改變路徑到其它用戶目錄.在保密性較強(qiáng)的公共FTP環(huán)境中,這是一個(gè)非常不錯(cuò)的功能.
在任何時(shí)間你都可以改變你的配置文件, 并確認(rèn)后重啟vsftpd!
就這么簡(jiǎn)單. 這里還有其它很多選項(xiàng),可以根據(jù)你的