![將 httpd 新增到群組中,但網頁伺服器仍然無法存取檔案 - CentOS](https://rvso.com/image/1313324/%E5%B0%87%20httpd%20%E6%96%B0%E5%A2%9E%E5%88%B0%E7%BE%A4%E7%B5%84%E4%B8%AD%EF%BC%8C%E4%BD%86%E7%B6%B2%E9%A0%81%E4%BC%BA%E6%9C%8D%E5%99%A8%E4%BB%8D%E7%84%B6%E7%84%A1%E6%B3%95%E5%AD%98%E5%8F%96%E6%AA%94%E6%A1%88%20-%20CentOS.png)
我希望允許透過 Web 存取文件,但不允許其他系統使用者存取網站的文件。
我的所有者:群組為
鮑伯:鮑伯
然後我做了:
usermod -a -G bob httpd
將http新增至使用者群組。
根資料夾的檔案權限為:
drwxr-xr--
但我無法再從互聯網訪問該網站。 Web 伺服器應該能夠存取具有上述權限的資料夾。
如果我添加 o+x 權限,它會立即起作用。
錯誤日誌說:
[Tue May 01 17:25:20 2012] [crit] [client xxx.xx.xxx.xx] (13)Permission denied:
/var/www/bob/.htaccess pcfg_openfile: unable to check htaccess file, ensure it i
s readable
任何幫助將不勝感激。
答案1
如果您啟用了 SELinux,則可能會導致這些問題。檢查/etc/selinux/config
會告訴你是否是。如果是這樣,那麼需要將正確的上下文應用於 apache 嘗試存取的檔案。
更改用戶httpd.conf
應該是最後要做的事情,通常您希望httpd
運行少量服務用戶,例如apache
本身。
ls -lZ /var/www
將顯示上下文。sestatus
會讓您了解系統上 SELinux 的狀態。 Apache 絕對是一個「有針對性」的應用程式。檢查 SELinux 日誌也會顯示存取衝突。
順便說一句,禁用 SELinux 是不是要走的路。