Configuration

Centos6 上的 Httpd 未列出目錄內容

  • July 23, 2013

我的 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

它有幫助嗎?

引用自:https://serverfault.com/questions/525321