檢查系統是否已安裝vsftp
rpm -q vsftpd
package vsftpd is not installed #說明系統沒有安裝vsftpd
如果產生虛擬使用者資料檔案的時候出現以下錯誤
users.db-bash: db_load: command not found
因為在執行db命令時候軟體包沒有安裝
db4
db4-devel
db4-java
db4-tcl
db4-utils
可以運行yum install db4* 命令安裝
安裝vsftpd
yum install vsftpd
按Y斷行符號,系統自動安裝
/etc/init.d/vsftpd start #啟動vsftpd
service vsftpd restart #重啟
service vsftpd stop #停止
chkconfig vsftpd on #設定開機時自動運行 也可以在wdcp面板控制自啟動,停止另外一個FTP服務很方便的。
使vsftp下root登入:
1)編輯兩個FTP設定檔:/etc/vsftpd/ftpusers和/etc/vsftpd/user_list,將root那一行刪掉或#注釋掉;
這個看你自己需要修改不修改
配置vsftp伺服器
設定檔說明:
/etc/vsftpd/vsftpd.conf vsftpd的核心設定檔
/etc/vsftpd/ftpusers 用於指定哪些使用者不能訪問FTP伺服器
/etc/vsftpd/user_list 指定允許使用vsftpd的使用者列表檔案
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些變數和設定指令碼
/var/ftp/ 預設情況下匿名使用者的根目錄
配置/etc/vsftpd/vsftpd.conf
配置前先備份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak
恢複檔案
cp /etc/vsftpd/vsftpd.confbak /etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf #配置
只需添加
anonymous_enable=NO #禁止匿名使用者 這個在原來裡面改一下
guest_enable=YES 設定啟用虛擬使用者功能。
guest_username=vsftpd 指定虛擬使用者的宿主使用者(這個是我們後面要建立的使用者)
user_config_dir=/etc/vsftpd/vconf 設定虛擬使用者個人Vsftp的設定檔存放路徑。
也就是說,這個被指定的目錄裡,將存放每個Vsftp虛擬使用者個性的設定檔,一個需要注意的
地方就是這些設定檔名必須和虛擬使用者名稱相同。
比如說vsftpd.conf的設定檔,你複製到這個目錄下,你要mv一下,配置成虛擬使用者的名稱
virtual_use_local_privs=YES #當該參數啟用(YES)時,虛擬使用者使用與本機使用者相同的許可權。
#當此參數關閉(NO)時,虛擬使用者使用與匿名使用者相同的許可權。預設情況下此參數是關閉的(NO)。
pasv_min_port=9000 (設定被動模式的連接埠範圍)
pasv_max_port=9045 (設定被動模式的連接埠範圍)
accept_timeout=5 #保持5秒
connect_timeout=1 #1秒後重新串連
chroot_local_user=YES限制在自己目錄
進入編輯 按是s鍵就可以編輯,儲存也已直接開大小寫,連續按ZZ兩下就儲存退出編輯
先建立虛擬使用者名稱單檔案:
touch /etc/vsftpd/virtusers
編輯虛擬使用者名稱單檔案:(第一行帳號,第二行密碼,注意:不能使用root做使用者名稱,系統保留)
vi /etc/vsftpd/virtusers
up
123456
產生虛擬使用者資料檔案:
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db #設定PAM驗證檔案,並指定對虛擬使用者資料庫檔案進行讀取====
在/etc/pam.d/vsftpd的檔案頭部加入以下資訊(在後面加入無效)
修改前先備份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak
恢複cp /etc/pam.d/vsftpdbak /etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意:如果系統為64為,則上面的lib改為lib64,否則配置失敗
建立一個系統使用者vsftpd,使用者家目錄為/home/wwwroot, 使用者登入終端設為/bin/false(即使之不能登入系統)
useradd -d /home/wwwroot -s /bin/false -g ftp vsftpd vsftpd加入FTP使用者組
chown vsftpd:ftp /home/wwwroot -R
建立虛擬使用者個人Vsftp的設定檔
系統營運 溫馨提醒:qihang01原創內容著作權,轉載請註明出處及原文連結
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
touch up #這裡建立三個虛擬使用者設定檔
vi up #編輯使用者web1設定檔,其他的跟這個設定檔類似
local_root=/home/wwwroot/
write_enable=yes
local_umask=002
cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
chroot_list_enable=YES
pam_service_name=vsftpd
pasv_enable=yes
hide_ids=YES
text_userdb_names=no
ls_recurse_enable=no
只能上傳
最後重啟vsftpd伺服器
/etc/init.d/vsftpd restart
備忘:guest_username=vsftpd #指定虛擬使用者的宿主使用者(就是我們前面建立的使用者)
如ftp的目錄是指向網站根目錄的,用來上傳網站程式的話
guest_username=apache #指定虛擬使用者的宿主使用者為apache運行賬戶,可以避免很多使用權限設定問題
以上配置我我綜合網上的教程修改的,網上很多教程都不不能直接運行...
在WDcp面板可以控制兩個FTP切換使用
這個控制台很實用
本文摘自 wdlinux論壇 http://www.wdlinux.cn/bbs/,轉載請註明!