仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳
昨天我們寫了一篇《linux(fedora、redhat)下配置web+ftp伺服器全教程》說完了Web伺服器的安裝全過程,今天我們繼續說下在apahce伺服器上集成vsftp, 以及apache和vsftp虛擬帳戶的許可權配置。
三、web伺服器下的ftp安裝配置
linux下的ftp開源軟體很多,我們這裡選擇的是vsftp,它的資訊你可以去問度娘,不解釋,直接進入安裝配置,同樣我們使用yum命令。
yum install vsftpd pam db4 【安裝vsftpd主程式/pam驗證/db4工具】
chkconfig vsftpd on 【設置vsftpd開機啟動】
service vsftpd start 【啟動vsftpd服務】
1、配置vsftpd設定檔:
vsftpd的設定檔預設位置在:/etc/vsftpd/vsftpd.conf,通常情況下我們選擇先備份一份原始的設定檔,然後編輯,具體步驟如下:
mv vsftpd.conf vsftpd.conf-old 【將vsftpd.conf檔改名為vsftpd.conf-old 備份】
vi /etc/vsftpd/vsftpd.conf 【新建並編輯vsftpd.conf檔】
我的習慣是直接更名原始設定檔然後新建一個檔寫入需要的配置資訊,你同樣可以複製一份原始檔案,然後修改。
接上打開新建vsftpd.conf檔,按照如下配置寫入:
anonymous_enable=NO
禁止匿名使用者登錄,通常我們web伺服器上的ftp都不允許匿名登入
local_enable=NO
禁止(或允許)本地使用者登錄
write_enable=YES
賦予可寫入權限
chroot_local_user=YES
鎖定使用者目錄,ftp使用者登錄ftp只能在自己的目錄下操作
anon_upload_enable=NO
anon_mkdir_write_enable=NO
禁止匿名使用者的上傳、新建目錄許可權
dirmessage_enable=YES
允許ftp使用者列出檔目錄
xferlog_enable=YES
寫入日誌
connect_from_port_20=YES
listen=YES
使用埠20,通常這幾項是預設的
pam_service_name=vsftpdpamconf
userlist_enable=YES
tcp_wrappers=YES
第一行比較重要,指定了pam驗證的設定檔
guest_enable=YES
開啟虛擬使用者
guest_username=apache
指定虛擬使用者使用本地使用者apache的許可權*這項特別重要,web伺服器上面的ftp虛擬使用者一定要設置成apache許可權,否則ftp上傳的檔不能被正常訪問,也無法修改網站生成的檔。
user_config_dir=/etc/vsftpd/vuser_conf
虛擬使用者的設定檔存放位置
virtual_use_local_privs=YES
虛擬使用者使用本地使用者許可權,這項要有,否則ftp使用者無法更改檔許可權
然後保存並退出vi編輯器,這一步我們的vsftp.conf就配置好了,執行:service vsftpd restart 重啟vsftpd服務測試組態檔書寫是否正確。
2、添加vsftpd虛擬帳戶:
上面我們配置了虛擬使用者的驗證檔案類型是pam,檔案名是vsftpdpamconf,下面步驟我們要進入目錄/etc/vsftpd 中建立虛擬使用者db庫:
vi vuservsftpd.txt 【新建並編輯檔vuservsftpd.txt】
寫入你要建立的虛擬使用者和密碼,單行為使用者名雙行為密碼,注意此不能有空格,示例:
vuser1
password1
vuser2
password2
..................
建立完成後保存退出,然後通過db命令來生成vsftpd驗證需要使用的虛擬使用者庫檔:
db -T -t hash -f vuservsftpd.txt vsftpdpamconf.db
注意db檔案名要與vsftpd.conf中設置的pam認證名相同
組後我們為了安全可以刪掉剛剛新建的vuservsftpd.txt,下次需要添加使用者名的時候再新建即可,還可以將vsftpdpamconf.db檔許可權設置為644。
3、添加vsftpd虛擬帳戶設定檔:
只新建了帳戶驗證還是不夠的,因為虛擬帳戶沒有對應的設定檔並不會生效,1步裡面我們在vsftpd.conf檔中確定了虛擬帳戶的設定檔目錄為:/etc/vsftpd/vuser_conf,下面我們進入這個目錄工作:
設定檔的命名必須是與虛擬帳戶名相同,所以我們新建了兩個檔:vuser1、vuser2,並根據需要寫入如下配置資訊:
local_root=/var/www/html/demo
設定虛擬使用者的更目錄,因為我們需要實現每一個網站一個ftp帳號管理,所以他的根目錄就是我們需要管理的網站虛擬目錄。
write_enable=YES
download_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
賦予虛擬使用者寫入、下載上傳、新建目錄等其它許可權
anon_world_readable_only=no
目前不明白這個的意義,但是必須存在
上面是我的設定檔,你可根據需要添加或者登出部分許可權,登出只需要在語句前面加上「#」號,當然你也可以直接刪掉。
到這裡我們的linux下web+ftp就可以配置成功了,你也可以使用ftp軟體登錄上傳程式並安裝你的網站。
上面都配置完成網站還是無法訪問也無法登錄ftp怎麼辦?
在做了如上配置,並且保證你所做的配置都沒有問題的情況下,你就要考慮下防火牆和linux的預設安全機制,有些系統預設是開啟SElinux和iptable防火牆的,這時我們需要將其關閉來檢驗是否配置成功:
setenforce 0
service iptables stop
臨時關閉selinux和iptables防火牆,重啟後恢復
上面是臨時關閉安全機制selinux和防火牆iptables的方法,通常馮志強不建議永久關閉,因為我們的服務需要保護,如果關閉後測試以上web和vsftp都可以正常訪問那我們再來慢慢配置防火牆規則, 有關88iptables的配置我們下篇文章繼續討論。
本文作者:馮志強,原文首發: HTTP://www.crazyer.org 轉載注明。