1、安裝
yum -y install vsftpd db4-utils (db_load工具,用戶加密用戶名密碼文件,生成.db文件)
2、生成驗證用戶名密碼數據庫
vim /etc/vsftpd/login.txt
aaa (用戶名)
123456 (密碼)
bbb (用戶名)
asdf(密碼)
ccc (用戶名)
7654(密碼)
保存退出
保存虛擬帳號和密碼的文本文件無法被系統帳號直接調用哈~我們需要使用db_load命令生成db口令數據庫文件
數據庫文件中保存着虛擬帳號的密碼信息,爲了防止非法用戶盜取哈,我們可以修改該文件的訪問權限。生成的認證文件的權限應設置爲只對root用戶可讀可寫,即600
[root@red-hat-5 /]# chmod 600 /etc/vsftpd/vsftpd_login.db
爲了使服務器能夠使用數據庫文件,對客戶端進行身份驗證,需要調用系統的PAM模塊.PAM(Plugable Authentication Module)爲可插拔認證模塊,不必重新安裝應用系統,通過修改指定的配置文件,調整對該程序的認證方式。PAM模塊配置文件路徑爲/etc/pam.d/目錄,此目錄下保存着大量與認證有關的配置文件,並以服務名稱命名。
筆者在生產環境下用的配置:
[root@demo-PG vsftpd]# cat vsftpd.conf| grep -v "^#"
anonymous_enable=NO 禁用匿名用戶登錄
local_enable=YES 啓用本地用戶登錄設置
write_enable=YES 允許使用任何可以修改文件系統的FTP的指令
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ftpd_banner=Please must be use english name for file or directory!
listen=YES
pasv_enable=YES 允許PASV模式進行數據傳輸
pasv_min_port=65520 PASV模式下數據傳輸所使用port範圍下界
pasv_max_port=65530 PASV模式下數據傳輸所使用port範圍上界
user_config_dir=/etc/vsftpd/login 設置虛擬帳號的主目錄爲/etc/vsftpd/login
pam_service_name=vsftpd 配置vsftpd使用的PAM模塊爲vsftpd
userlist_enable=YES
tcp_wrappers=YES
總計 16
-rw-r--r-- 1 root root 117 09-17 15:53 aaa
-rw-r--r-- 1 root root 115 09-17 16:27 bbb
-rw-r--r-- 1 root root 115 09-17 16:27 ccc
guest_username=vsftp 映射此虛擬用戶對應的本地系統用戶
anon_world_readable_only=NO
guest_enable=YES
guest_username=vsftp
anon_upload_enable=YES
guest_username=vsftp
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
service vsftpd restart
配置完成!
user_config_dir=/etc/vsftpd ,這段配置文件就是告訴vsftpd,當虛擬用戶登錄成功後(也許是在登陸時)就會讀取這個目錄下的與虛擬用戶名一直的配置文件,注意 user_config_dir 的值是目錄的名稱,而且此目錄下一定要有和虛擬用戶名稱一樣的配置文件