環境:CentOS 5.4
安裝:cd /media
Rpm -ivh vsftpd-xx-xx-xx 安裝完成
啓動服務:service vsftpd start
創建測試文件:cd /var/ftp/pub
Vi test並編輯內容“這是一個測試文件”
匿名測試:ifconfig查看服務器ip地址,然後輸入“ftp 服務器ip地址”
提示輸入用戶名ftp(anonymous)
注:這個時候你有可能進不去,並報告550錯誤。這個時候你可以看下selinux排除故障。由於selinux設置是否是強制,如果是,則將其改爲:警告或者禁用就可以了。
Cd pub 進入pub目錄
Ls查看test文件是否存在
進入vsftpd.conf配置文件修改,將anon_upload_enable=YES和anon_mkdir_dictionry_enable前面的“#”去掉,測試從pub目錄上傳和創建文件、目錄等。
這個時候向pub目錄中上傳文件、創建文件有可能還是不行。彆着急,linux下就是這樣的,權限設置比較細。我們在來看下pub目錄的權限是什麼。進入/var/ftp目錄後,使用“ll”命令查看,這時你會發現他的權限是755,所以就明白爲什麼不能上傳文件、下載文件了吧。你需要賦予pub目錄,777權限才行。哈!這下好辦了,直接用chmod 777 pub給pub目錄賦權限。然後在測試,ok上傳成功。在試試看創建文件,也ok。好了到這一步,匿名測試部分基本上已經ok了。其他在細節方面的東西,這裏就不做測試了。下面看本地用戶測試部分。
本地測試:
在做本地測試前首先要吧匿名登錄禁用掉,及進入vsftpd.conf配置文件將anonymous_enable=YES,中的”YES”改爲”NO”。然後保存推出,並重啓服務,service vsftpd restart。好了,現在可以測試了。在瀏覽器中輸入ftp://服務器ip地址,現在你會發現提示你輸入用戶名和密碼纔可以登錄進去。那麼我們以系統中jsp用戶爲例,輸入jsp和jsp的密碼。Ok可以進去,好了現在創建一個文件看看。你會發現也可以創建文件夾,不僅可以創建文夾件,還可以刪除 、重命名等等。(注意:是文件夾,而非文件。並且默認也可以上傳和下載)那麼這時候問題來了,問什麼不可以創建文件呢?好,我們就帶着這個問題看看究竟是怎麼回事。
我們首先進入/home目錄,ls下看看有哪些目錄。可以看到jsp在這裏,其實這就是jsp用戶存儲文件的地方。我們在來看看他是什麼權限,ll下。大家可以看到他是755,因爲這個文件夾得屬主就是jsp,他自然可以創建、刪除、上傳、下載。另外在看下配置文件裏是怎麼寫的。可以看到write_enable=YES這一項,他就是控制創建文件的。因爲它前面沒有“#”號,自然是生效的,所以可以創建文件。
虛擬用戶:
虛擬用戶的測試比較麻煩點。首先和大家屢一下思路:
1、 創建虛擬用戶口令庫文件
2、 生成vsftpd的認證文件
3、 建立虛擬用戶所需的PAM配置文件
4、 建立虛擬用戶要訪問的目錄並設置相應的權限
5、 修改配置文件
6、 重啓vsftpd服務
那麼下面我們就根據上面所敘述的六個步驟來講一講虛擬用戶的測試。首先我們來創建用戶口令文件庫。
1、在/home目錄下vi logins.txt
然後輸入mike
12345
John
45678(說明:奇數行爲用戶名,偶數行爲密碼)
2、由於建立vsftpd認證文件過程中需要用到db_load工具,所以我們首先安裝db4-unitls工具。安裝過程如下
Cd /media 中找到rpm報所在的目錄
Rpm –ivh db4-unitls。。。 --aid
安裝完成後,使用db_load –T –t hash -f /home/logins.txt /etc/vsftpd/vsftpd_login.db命令來生成認證文件。執行完成後,通過cat /etc/vsftpd/vsftpd_login.db來驗證看生成效果。
然後給vsftpd_login.db文件賦權,chmod 600 /etc/vsftpd/vsftpd_login.db只允許root有讀和寫的權限。
3、下面就該創建虛擬用戶所需的pam配置文件
Vi /etc/vsftpd/vsftpd.vu
Auth requirted /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
Account requirted /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
保存退出。
4、建立虛擬用戶及要訪問的目錄並設置權限
Useradd -d /home/ftpsite virtual
Chmod 700 /home/ftpsite
5、修改vsftpd.conf文件
在文件中添加下面三項:
Guest_enable=YES
Guest_username=virtual
Pam_serivce_name=vsftpd.vu
6、最後service vsftpd restart
7、通過瀏覽器或者ftp客戶端軟件訪問進行驗證。