1.1.安裝認證所需包服務器
[root@localhost]#yum install pam* [root@localhost]#yum install db4*
首先安裝PAM(用於用戶認證)和DB4(用於生成虛擬用戶的用戶名密碼的db文件)。session
1.2.安裝vsftpdapp
[root@localhost]#yum install vsftpd
1.3.設置vsftpd開機啓動:tcp
[root@localhost]#chkconfig vsftpd on [root@localhost]#systemctl enable vsftpd 經過chkconfig --list 查看啓動項 經過systemctl is-enabled 查看啓動項
1.4 配置vsftpd.confide
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 xferlog_enable=YES xferlog_file=/var/log/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文件夾
1.5 配置虛擬用戶測試
好比我要添加一個叫xmzncc用戶,ftp客戶端就使用該用戶名(密碼後面設置)進行上傳下載,在/etc/vsftpd/virtualuser_conf新建一個名叫xmzncc的文件:touch xmzncc 。文件裏面的內容爲:ui
local_root=/data/share/vsftpd/ 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=/data/share/vsftpd/ #該虛擬用戶上傳下載的根目錄 write_enable=YES #可寫(可上傳) anon_umask=022 #掩碼
接下來在/etc/vsftpd/目錄新建一個記錄全部客戶端用戶(虛擬用戶)的用戶名密碼的文本文檔:spa
touch virtualuser_passwd.txt
裏面的內容爲:日誌
xmzncc passwd1 xmzncc2 passwd2
奇數行是用戶名,偶數行是密碼,這裏建了兩個虛擬用戶,可是zhang1這個用戶沒有給設置。code
1.6 生成虛擬用戶認證的db文件 接着,生成虛擬用戶認證的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
設置服務器上的目錄權限 由於這裏設置的上傳下載的根目錄爲/data/share/vsftpd/,因此這個文件夾的權限很重要,開始新建的時候它是root:root,屬於root用戶,屬於root組,後來改爲了root:ftp,即改爲了ftp組,由於客戶端進行上傳下載是藉助服務器上的ftp用戶,ftp用戶是屬於ftp組的。這樣能進行訪問下載,可是下載有問題,各類改權限,最後直接將這個目錄改爲ftp:ftp全部問題都沒有了,並且ftp用戶對該目錄具備rwx(可讀可寫可執行)的權限:
[root@localhost]#chown -R root:ftp /data/share/vsftpd/ [root@localhost]#chmod 077 /data/share/vsftpd/
1.7 測試