為了安全起見,需要把~yanji 用戶隱藏起來,這時就可以設(shè)置個 虛擬目錄。
它在Apache服務(wù)器應(yīng)用比較多,能夠隱藏系統(tǒng)的真實目錄,實用性非常高。
虛擬目錄主要 通過 Alias語句 和 ScriptAlias語句進(jìn)行實現(xiàn)
二者區(qū)別:
Alias語句 : 針對普通別名
ScriptAlias語句: 針對腳本別名,即是ScriptAlias語句設(shè)置的別名可以支持CGI腳本。
1、Alias語句方式 Alias /別名 "真實目錄"
[root@localhost root]# cd /etc/httpd/conf.d
[root@localhost conf.d]# cat > v_p_user_auth.conf
Alias "/useryan" "/home/yanji/public_html"
[root@localhost conf.d]# service httpd restart
停止 httpd: [ 確定 ]
啟動 httpd: [ 確定 ]
在瀏覽器驗證如下 http://192.168.170.4/useryan/
2、ScriptAlias語句方式 ScriptAlias /別名 "真實目錄"
[root@localhost conf.d]# vi /etc/httpd/conf/httpd.conf
找到ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 確保它不給“#”注釋。 如下圖
創(chuàng)建測試的主頁
[root@localhost conf.d]# cat > /var/www/cgi-bin/test.sh
#! /bin/bash echo "Content-type: text/html"echo for x in 早上 中午 晚上; do echo "$x<br/>" done
瀏覽器輸入 http://192.168.170.4/cgi-bin/test.sh
會因為權(quán)限問題,不成功。
[root@localhost conf.d]# chmod +x /var/www/cgi-bin/test.sh
(注意:
如果網(wǎng)頁亂碼,就是/etc/httpd/conf/httpd.conf里面的AddDefaultCharset的值不為utf-8
改為utf-8后,重啟httpd服務(wù)就行)
二、目錄權(quán)限配置
在Apache服務(wù)器中,可以使用Order allow deny 語句對其進(jìn)行控制,有兩種格式:
1、Order allow,deny (表示先允許后拒絕,即是沒有允許的全部拒絕) 嚴(yán)格配置
Allow from 192.168.170.0/24 (表示192.168.170.0/24 網(wǎng)段的所有主機可以訪問)
Deny from all (表示拒絕所有主機的訪問)
2、Order deny,allow (表示先拒絕后允許,默認(rèn)沒有拒絕的全部允許) 寬松配置
Deny from 192.168.170.0/24 (表示拒絕192.168.170.0/24網(wǎng)段的所有主機訪問,允許其他網(wǎng)段的主機訪問)
例如: /var/www/music 目錄只允許 內(nèi)網(wǎng)用戶訪問,不允許外網(wǎng)用戶訪問,那就把內(nèi)網(wǎng)的網(wǎng)段范圍寫在<Directory "/var/www/music" >節(jié)點之間
為了不混亂主配置文件,我們可以在 /etc/httpd/conf.d 目錄創(chuàng)建music.conf文件,添加以下內(nèi)容:
Alias "/music" "/var/www/music"
<Directory "/var/www/music">
Options Indexes SymLinksIfOwnerMatch
Order allow,deny
Allow from 192.168.170.0/24 192.168.155.0/24
</Directory>
然后重啟服務(wù)就行了 apachectl restart
如果<Directory "/var/www/music" >節(jié)點之間加上
AuthType Basic
AuthName "please input name$passwd"
AuthUserFile "/var/www/users"
Require valid-user
就可以同上一篇的身份驗證結(jié)合,增強安全性。