天天看點

vsftpd伺服器結合mysql實作虛拟使用者登入

1、安裝所需軟體yum -y install vsftpd mysql-server mysql-devel pam_mysql,注意的是pam_mysql在epel源中。

2、登入mysql伺服器建立一個vsftpd庫,庫中有users表,表中插入的name字段有tom和jerry。然後建立一個資料庫登入使用者vsftpd并授權select權限。

vsftpd伺服器結合mysql實作虛拟使用者登入

3、在/etc/pam.d/目錄下單獨建立vsftpd.mysql檔案,内容如下。注意的是user=“資料庫的登入使用者名”,passwd=“資料庫的登入使用者密碼”,host=“資料庫所在的主機IP”,db=“資料庫中的庫名”,table=“庫中的表名”,usercolumn=“表中的虛彌使用者名字段”,passwdcolumn=“表中的虛彌使用者登入密碼字段”,crypt值為2表明在插入資料時候密碼通過password(  )函數進行加密、值為0是表明密碼沒有加密的方式。

vsftpd伺服器結合mysql實作虛拟使用者登入

4、建立虛拟使用者映射的本地使用者。

vsftpd伺服器結合mysql實作虛拟使用者登入
vsftpd伺服器結合mysql實作虛拟使用者登入

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伺服器時候,會映射到此使用者)     

vsftpd伺服器結合mysql實作虛拟使用者登入

6、重新開機vsftpd服務後使用虛拟使用者tom登入成功。

vsftpd伺服器結合mysql實作虛拟使用者登入

7、為tom和jerry這兩個虛拟賬戶分别配置各自的配置檔案,在/etc/vsftpd/vsftpd.conf配置檔案中定義虛拟使用者配置檔案的路徑如下。并在此路徑下分别建立以使用者名命名的使用者配置檔案,各自使用者的配置檔案的内容如下。

vsftpd伺服器結合mysql實作虛拟使用者登入
vsftpd伺服器結合mysql實作虛拟使用者登入

8、重新開機服務後,進行測試。使用tom登入後能夠上傳檔案,而jerry登入後不能上傳檔案。

vsftpd伺服器結合mysql實作虛拟使用者登入
vsftpd伺服器結合mysql實作虛拟使用者登入

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,則此檔案裡的使用者被禁止登入(預設是禁止)

繼續閱讀