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