標籤:
1. 安裝認證所需包
[[email protected]]#yum install pam*
[[email protected]]#yum install db4*
首先安裝PAM(用於使用者認證)和DB4(用於產生虛擬使用者的使用者名稱密碼的db檔案)。
2. 安裝vsftpd
[[email protected]]#yum install vsftpd
設定vsftpd開機啟動:
[[email protected]]#chkconfig vsftpd on
通過chkconfig --list 查看啟動項
3. 配置vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
xferlog_file=/etc/vsftpd/vsftpd.log
xferlog_std_format=YES
connect_from_port_20=YES
idle_session_timeout=600
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/virtualuser_conf
*重要參數說明:
anonymous_enable=NO 不允許匿名訪問
local_enable=YES 本機使用者可以訪問,如果設定成NO的話,ftp這個系統本機使用者沒法進行訪問了,所有的ftp用戶端當然也沒法進行上傳下載了。
write_enable=YES #可寫(可上傳)
xferlog_enable=YES
xferlog_file=/etc/vsftpd/vsftpd.log
xferlog_std_format=YES
這3項由於設定log日誌,記得在/etc/vsftpd/下建立一個vsftpd.log檔案。
guest_enable=YES #啟用虛擬使用者
guest_username=ftp #虛擬使用者借用的系統本機使用者名
user_config_dir=/etc/vsftpd/virtualuser_conf #虛擬使用者的設定檔路徑,所以別忘了在/etc/vsftpd/目錄下建立一個virtualuser_conf檔案夾
4. 配置虛擬使用者
比如我要添加一個叫xmzncc使用者,ftp用戶端就使用該使用者名稱(密碼後面設定)進行上傳下載,在/etc/vsftpd/virtualuser_conf建立一個名叫xmzncc的檔案:touch xmzncc 。檔案裡面的內容為:
local_root=/var/www/html
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
*參數說明:
local_root=/home/ftpuser #該虛擬使用者上傳下載的根目錄
write_enable=YES #可寫(可上傳)
anon_umask=022 #掩碼
接下來在/etc/vsftpd/目錄建立一個記錄所有用戶端使用者(虛擬使用者)的使用者名稱密碼的文字文件:
touch virtualuser_passwd.txt
裡面的內容為:
xmzncc
passwd1
xmzncc2
passwd2
奇數行是使用者名稱,偶數行是密碼,這裡建了兩個虛擬使用者,但是zhang1這個使用者沒有給設定。
接著,產生虛擬使用者認證的db檔案
db_load -T -t hash -f /etc/vsftpd/virtualuser_passwd.txt /etc/vsftpd/virtualuser_passwd.db
隨後,編輯認證檔案/etc/pam.d/vsftpd,全部注釋掉原來語句
再增加以下兩句
auth required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd
account required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd
5. 設定伺服器上的目錄許可權
因為這裡設定的上傳下載的根目錄為/var/www/html,所以這個檔案夾的許可權很重要,開始建立的時候它是root:root,屬於root使用者,屬於root組,後來改成了root:ftp,即改成了ftp組,因為用戶端進行上傳下載是藉助伺服器上的ftp使用者,ftp使用者是屬於ftp組的。這樣能進行訪問下載,但是下載有問題,各種改許可權,最後直接將這個目錄改成ftp:ftp所有問題都沒有了,而且ftp使用者對該目錄具有rwx(可讀可寫可執行)的許可權:
[[email protected]]#chown -R root:ftp /home/ftpuser
[[email protected]]#chmod 077 /home/ftpuser
6. 測試
Centos下安裝FTP並進行虛擬使用者訪問方式配置