Configuration
Centos6 上的 Httpd 未列出目錄內容
我的 Centos6.4 伺服器上有一個文件夾(不是傳統的 /var/www/html 文件夾!)/Server/Websites/Default。只有一個文件,phpinfo.php(其中包含明顯的程式碼)。在 Firefox 中執行
http://localhost/Default/phpinfo.php
,顯示正確的 php 資訊頁面。當我訪問http://localhost/Default/
頁面時,它向我顯示了一個禁止的“您無權訪問此伺服器上的 /”。頁。我希望它列出目錄內容。在我的 /etc/httpd/conf/httpd.conf 文件中,我有(顯示時間太長,所以我粘貼了一些我認為很重要的關鍵行):
DocumentRoot "/Server/Websites" <Directory /Server/Websites> Options +Indexes Includes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
SELinux 明智,我也有
# getsebool -a | grep httpd
:allow_httpd_anon_write --> off allow_httpd_mod_auth_ntlm_winbind --> off allow_httpd_mod_auth_pam --> off allow_httpd_sys_script_anon_write --> off httpd_builtin_scripting --> on httpd_can_check_spam --> off httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off httpd_can_network_memcache --> off httpd_can_network_relay --> off httpd_can_sendmail --> off httpd_dbus_avahi --> on httpd_enable_cgi --> on httpd_enable_ftp_server --> off httpd_enable_homedirs --> off httpd_execmem --> off httpd_manage_ipa --> off httpd_read_user_content --> off httpd_run_stickshift --> off httpd_setrlimit --> off httpd_ssi_exec --> off httpd_tmp_exec --> off httpd_tty_comm --> on httpd_unified --> on httpd_use_cifs --> off httpd_use_fusefs --> off httpd_use_gpg --> off httpd_use_nfs --> off httpd_use_openstack --> off httpd_verify_dns --> off
並且
# ls -lZ
:drwxr-xr-x. root root unconfined_u:object_r:public_content_rw_t:s0 Websites
我在監督什麼?
事實證明,您必須在 httpd 配置中明確說明 Options +Indexes。非常感謝大家的回答。
首先,驗證目錄/Server/Websites/Default 的權限。您的 Apache 使用者(在 RHEL/CentOS apache 中)是否有權列出目錄的內容(對於該使用者來說至少 rx)?
其次,嘗試驗證SELinux是否負責。嘗試僅使用臨時啟用許可模式
setenforce 0
如果它現在可以工作,那麼您的目錄/文件的上下文可能存在問題。重新啟用強制模式
setenforce 1
並遞歸地重新標記您的新目錄結構
chcon -R --reference=/var/www /Server/Websites
它有幫助嗎?