一、VSFTPD的安裝
目前,VSFTPD的最新版本是1.2.0版。官方下載地址為ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.0.tar.gz。在安裝前,需要先做以下準(zhǔn)備工作:
VSFTPD默認(rèn)配置中需要“nobody”用戶。在系統(tǒng)中添加此用戶,如果用戶已經(jīng)存在,useradd命令有相應(yīng)提示。
[root@hpe45 root]# useradd nobody useradd: user nobody exists
VSFTPD默認(rèn)配置中需要“/usr/share/empty”目錄。在系統(tǒng)中此目錄,如果目錄已經(jīng)存在,mkdir命令有相應(yīng)提示。
[root@hpe45 root]# mkdir /usr/share/empty/ mkdir: cannot create directory '/usr/share/empty': File exists
VSFTPD提供匿名FTP服務(wù)時,需要“ftp”用戶和一個有效的匿名目錄。
[root@hpe45 root]# mkdir /var/ftp/ [root@hpe45 root]# useradd -d /var/ftp ftp接下來的操作對于ftp用戶是否已經(jīng)存在都是有用的。
[root@hpe45 root]# chown root.root /var/ftp [root@hpe45 root]# chmod og-w /var/ftp
以上準(zhǔn)備工作完成后,我們就可以開始編譯源代碼了。假定我們下載的vsftpd-1.2.0.tar.gz在/root目錄,執(zhí)行以下命令:[root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz [root@hpe45 root]# cd vsftpd-1.2.0 [root@hpe45 vsftpd-1.2.0]# make [root@hpe45 vsftpd-1.2.0]# make install
上面的“make install”命令將編譯好的二進(jìn)制文件、手冊等復(fù)制到相應(yīng)目錄。在RHL9上,可能需要手動執(zhí)行以下復(fù)制:[root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5 [root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
接下來,我們復(fù)制一個簡單的配置文件作為基礎(chǔ)供后面修改。
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc [root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp復(fù)制PAM驗證文件,以允許本地用戶登錄VSFTPD。
[root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
二、創(chuàng)建guest用戶
VSFTPD采用PAM方式驗證虛擬用戶。由于虛擬用戶的用戶名/口令被單獨保存,因此在驗證時,VSFTPD需要用一個系統(tǒng)用戶的身份來讀取數(shù)據(jù)庫文件或數(shù)據(jù)庫服務(wù)器以完成驗證,這就是VSFTPD的guest用戶。這正如同匿名用戶也需要有一個系統(tǒng)用戶ftp一樣。當(dāng)然,我們也可以把guest用戶看成是虛擬用戶在系統(tǒng)中的代表。下面在系統(tǒng)中添加vsftpdguest用戶,作為VSFTPD的guest。
[root@hpe45 vsftpd-1.2.0]# useradd vsftpdguest當(dāng)虛擬用戶登錄后,所在的位置為vsftpdguest的自家目錄/home/vsftpdguest。如果要讓虛擬用戶登錄到/var/ftp等其他目錄,修改vsftpdguest的自家目錄即可。
三、設(shè)置VSFTPD配置文件
在/etc/vsftpd.conf文件中,加入以下選項:guest_enable=YES guest_username=vsftpdguest
然后執(zhí)行以下命令,讓VSFTPD在后臺運行:[root@hpe45 vsftpd-1.2.0]# /usr/local/sbin/vsftpd &