(如下全部都是在root用戶下操做)vim
一、準備工做瀏覽器
yum install pam*
yum install db4*服務器
首先安裝PAM(用於用戶認證)和DB4(用於生成虛擬用戶的用戶名密碼的db文件)。session
mkdir /home/ftpuserapp
在data下新建一個xx目錄,這個就做爲全部ftp文件上傳下載的根目錄(如今它的全部者是root,後面有更改它的全部者的操做)。tcp
二、安裝vsftpdide
yum install vsftpd測試
安裝之後會發現vsftpd的配置路徑在/etc/vsfpd/目錄下。同時會在系統內添加一個名稱爲ftp的用戶(固然也有了叫ftp的一個組)。ui
vim /etc/passwd 查看該用戶的參數:
該用戶不能經過登陸系統,它的home主目錄在/var/ftp。(若是要更改該用戶的主目錄等參數能夠:usermod -d /home/ftpuser ftp 。可是這不是必要的。)spa
設置vsftpd開機啓動:
chkconfig vsftpd on
這條命令也等同於:chkconfig --level 2345 vsftpd on
經過chkconfig --list
爲了不不能鏈接,修改SELinux(也可能沒有必要):
Shell代碼
setsebool -P ftpd_disable_trans=1
三、配置vsftpd.conf
如今設置完畢之後vsft.conf的全部內容爲:
txt代碼
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文件夾
四、配置虛擬用戶
好比我要添加一個叫xx用戶,ftp客戶端就使用該用戶名(密碼後面設置)進行上傳下載,在/etc/vsftpd/virtualuser_conf新建一個名叫xx的文件:touch xx 。文件裏面的內容爲:
txt代碼
local_root=/data/xx
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/xx #該虛擬用戶上傳下載的根目錄
write_enable=YES #可寫(可上傳)
anon_umask=022 #掩碼
接下來在/etc/vsftpd/目錄新建一個記錄全部客戶端用戶(虛擬用戶)的用戶名密碼的文本文檔:
touch virtualuser_passwd.txt
裏面的內容爲:
txt代碼
xx
passwd1
sj
passwd2
奇數行是用戶名,偶數行是密碼,這裏建了兩個虛擬用戶,可是sj這個用戶沒有給設置。
接着,生成虛擬用戶認證的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/xx,因此這個文件夾的權限很重要,開始新建的時候它是root:root,屬於root用戶,屬於root組,後來改爲了root:ftp,即改爲了ftp組,由於客戶端進行上傳下載是藉助服務器上的ftp用戶,ftp用戶是屬於ftp組的。這樣能進行訪問下載,可是下載有問題,各類改權限,最後直接將這個目錄改爲ftp:ftp全部問題都沒有了,並且ftp用戶對該目錄具備rwx(可讀可寫可執行)的權限:
Shell代碼
chown -R ftp:ftp /home/ftpuser
chmod u=rwx /home/ftpuser
六、測試
好了,全部配置完了測試一下,瀏覽器訪問ftp://xx:passwd1@10.6.6.50或者用FlashFXP鏈接就好了。