1、安裝所需軟體yum -y install vsftpd mysql-server mysql-devel pam_mysql,注意的是pam_mysql在epel源中。
2、登入mysql伺服器建立一個vsftpd庫,庫中有users表,表中插入的name字段有tom和jerry。然後建立一個資料庫登入使用者vsftpd并授權select權限。

3、在/etc/pam.d/目錄下單獨建立vsftpd.mysql檔案,内容如下。注意的是user=“資料庫的登入使用者名”,passwd=“資料庫的登入使用者密碼”,host=“資料庫所在的主機IP”,db=“資料庫中的庫名”,table=“庫中的表名”,usercolumn=“表中的虛彌使用者名字段”,passwdcolumn=“表中的虛彌使用者登入密碼字段”,crypt值為2表明在插入資料時候密碼通過password( )函數進行加密、值為0是表明密碼沒有加密的方式。
4、建立虛拟使用者映射的本地使用者。
5、修改vsftpd配置檔案/etc/vsftpd/vsftpd.conf如下:
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
guest_enable=YES 啟動虛彌使用者模式
guest_username=virtual 映射到本地的使用者名(用在資料庫中定義的使用者登入vsftpd伺服器時候,會映射到此使用者)
6、重新開機vsftpd服務後使用虛拟使用者tom登入成功。
7、為tom和jerry這兩個虛拟賬戶分别配置各自的配置檔案,在/etc/vsftpd/vsftpd.conf配置檔案中定義虛拟使用者配置檔案的路徑如下。并在此路徑下分别建立以使用者名命名的使用者配置檔案,各自使用者的配置檔案的内容如下。
8、重新開機服務後,進行測試。使用tom登入後能夠上傳檔案,而jerry登入後不能上傳檔案。
vsftpd.conf配置檔案說明:
anonymous_enable=YES 允許匿名使用者登入
anon_upload_enable=YES 允許匿名使用者上傳檔案
anon_mkdir_write_enable=YES 允許匿名使用者建立檔案
anon_other_write_enable=YES 允許匿名使用者删除檔案
local_enable=YES 允許本地使用者登入
write_enable=YES 允許本地使用者有寫權限
chroot_local_user=YES 鎖定所有使用者在其家目錄
chroot_list_enable=YES
chroot_list_file=/PATH/TO/FILE 鎖定特定的使用者在其家目錄
/etc/vsftpd/ftpusers 此檔案裡的使用者被禁止登入(通過pam自身的方式進行限制)
userlist_enable=YES
userlist_deny=YES | NO
/etc/vsftpd/user_list 如果userlist_deny 為YES,則此檔案裡的使用者被禁止登入(預設是禁止)