昨天我們寫了一篇《linux下配置web+ftp服務(wù)器全教程(一) 》說完了Web服務(wù)器的安裝全過程,今天我們繼續(xù)說下在apahce服務(wù)器上集成vsftp,以及apache和vsftp虛擬賬戶的權(quán)限配置。
三、web服務(wù)器下的ftp安裝配置
linux下的ftp開源軟件很多,我們這里選擇的是vsftp,它的信息你可以去問度娘,不解釋,直接進(jìn)入安裝配置,同樣我們使用yum命令。
yum install vsftpd pam db4 【安裝vsftpd主程序/pam驗(yàn)證/db4工具】
chkconfig vsftpd on 【設(shè)置vsftpd開機(jī)啟動(dòng)】
service vsftpd start 【啟動(dòng)vsftpd服務(wù)】
1、配置vsftpd配置文件:
vsftpd的配置文件默認(rèn)位置在:/etc/vsftpd/vsftpd.conf,通常情況下我們選擇先備份一份原始的配置文件,然后編輯,具體步驟如下:
mv vsftpd.conf vsftpd.conf-old 【將vsftpd.conf文件改名為vsftpd.conf-old 備份】
vi /etc/vsftpd/vsftpd.conf 【新建并編輯vsftpd.conf文件】
我的習(xí)慣是直接更名原始配置文件然后新建一個(gè)文件寫入需要的配置信息,你同樣可以復(fù)制一份原始文件,然后修改。
接上打開新建vsftpd.conf文件,按照如下配置寫入:
anonymous_enable=NO
//禁止匿名用戶登錄,通常我們web服務(wù)器上的ftp都不允許匿名登錄
local_enable=NO
//禁止(或允許)本地用戶登錄
write_enable=YES
//賦予可寫入權(quán)限
chroot_local_user=YES
//鎖定用戶目錄,ftp用戶登錄ftp只能在自己的目錄下操作
anon_upload_enable=NO
anon_mkdir_write_enable=NO
//禁止匿名用戶的上傳、新建目錄權(quán)限
dirmessage_enable=YES
//允許ftp用戶列出文件目錄
xferlog_enable=YES
//寫入日志
connect_from_port_20=YES
listen=YES
//使用端口20,通常這幾項(xiàng)是默認(rèn)的
pam_service_name=vsftpdpamconf
userlist_enable=YES
tcp_wrappers=YES
//第一行比較重要,指定了pam驗(yàn)證的配置文件
guest_enable=YES
//開啟虛擬用戶
guest_username=apache
//指定虛擬用戶使用本地用戶apache的權(quán)限*這項(xiàng)特別重要,web服務(wù)器上面的ftp虛擬用戶一定要設(shè)置成apache權(quán)限,否則ftp上傳的文件不能被正常訪問,也無法修改網(wǎng)站生成的文件。
user_config_dir=/etc/vsftpd/vuser_conf
//虛擬用戶的配置文件存放位置
virtual_use_local_privs=YES
//虛擬用戶使用本地用戶權(quán)限,這項(xiàng)要有,否則ftp用戶無法更改文件權(quán)限
然后保存并退出vi編輯器,這一步我們的vsftp.conf就配置好了,執(zhí)行:service vsftpd restart 重啟vsftpd服務(wù)測試配置文件書寫是否正確。
2、添加vsftpd虛擬賬戶:
上面我們配置了虛擬用戶的驗(yàn)證文件類型是pam,文件名是vsftpdpamconf,下面步驟我們要進(jìn)入目錄/etc/vsftpd 中建立虛擬用戶db庫:
vi vuservsftpd.txt 【新建并編輯文件vuservsftpd.txt】
寫入你要建立的虛擬用戶和密碼,單行為用戶名雙行為密碼,注意此不能有空格,示例:
vuser1
password1
vuser2
password2
………………
建立完成后保存退出,然后通過db命令來生成vsftpd驗(yàn)證需要使用的虛擬用戶庫文件:
db -T -t hash -f vuservsftpd.txt vsftpdpamconf.db
//注意db文件名要與vsftpd.conf中設(shè)置的pam認(rèn)證名相同
組后我們?yōu)榱税踩梢詣h掉剛剛新建的vuservsftpd.txt,下次需要添加用戶名的時(shí)候再新建即可,還可以將vsftpdpamconf.db文件權(quán)限設(shè)置為644。
3、添加vsftpd虛擬賬戶配置文件:
只新建了賬戶驗(yàn)證還是不夠的,因?yàn)樘摂M賬戶沒有對應(yīng)的配置文件并不會(huì)生效,1步里面我們在vsftpd.conf文件中確定了虛擬賬戶的配置文件目錄為:/etc/vsftpd/vuser_conf,下面我們進(jìn)入這個(gè)目錄工作:
配置文件的命名必須是與虛擬賬戶名相同,所以我們新建了兩個(gè)文件:vuser1、vuser2,并根據(jù)需要寫入如下配置信息:
local_root=/var/www/html/demo
//設(shè)定虛擬用戶的更目錄,因?yàn)槲覀冃枰獙?shí)現(xiàn)每一個(gè)網(wǎng)站一個(gè)ftp帳號管理,所以他的根目錄就是我們需要管理的網(wǎng)站虛擬目錄。
write_enable=YES
download_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
//賦予虛擬用戶寫入、下載上傳、新建目錄等其它權(quán)限
anon_world_readable_only=no
//目前不明白這個(gè)的意義,但是必須存在
上面是我的配置文件,你可根據(jù)需要添加或者注銷部分權(quán)限,注銷只需要在語句前面加上“#”號,當(dāng)然你也可以直接刪掉。
到這里我們的linux下web+ftp就可以配置成功了,你也可以使用ftp軟件登錄上傳程序并安裝你的網(wǎng)站。
上面都配置完成網(wǎng)站還是無法訪問也無法登錄ftp怎么辦?
在做了如上配置,并且保證你所做的配置都沒有問題的情況下,你就要考慮下防火墻和linux的默認(rèn)安全機(jī)制,有些系統(tǒng)默認(rèn)是開啟SElinux和iptable防火墻的,這時(shí)我們需要將其關(guān)閉來檢驗(yàn)是否配置成功:
setenforce 0
service iptables stop
//臨時(shí)關(guān)閉selinux和iptables防火墻,重啟后恢復(fù)
上面是臨時(shí)關(guān)閉安全機(jī)制selinux和防火墻iptables的方法,通常筆者不建議永久關(guān)閉,因?yàn)槲覀兊姆?wù)需要保護(hù),如果關(guān)閉后測試以上web和vsftp都可以正常訪問那我們再來慢慢配置防火墻規(guī)則,有關(guān)88iptables的配置我們下篇文章繼續(xù)討論。
本文作者:馮志強(qiáng),原文出自:http://www.crazyer.org 轉(zhuǎn)載注明。
新聞熱點(diǎn)
疑難解答
圖片精選