無法透過群組權限存取資料夾

無法透過群組權限存取資料夾

為了保護我的網頁伺服器上的數據,我已將 PHP 包含檔案移至名為 /var/www-includes 的資料夾(在伺服器根目錄 /var/www 之外)。我也在那個資料夾上運行了chown root:wwwadminand 。chmod 770當我ls -ld在該資料夾上運行時,它會驗證設定:drwxrwx--- ... root wwwadmin ... www-includes雖然我可以從屬於 wwwadmin 成員的主用戶 (adam) cd 到該資料夾,但我無法在圖形文件瀏覽器中查看其內容。知道為什麼嗎?編輯:另外,當嘗試編輯 Nano 中包含的文件時,它會向我顯示錯誤訊息: Error reading /home/adam/.nano_history: Permission denied 然後開啟文件的內容。這與可能發生的事情有關係嗎?

答案1

也許是一個明顯的問題,但是...您是否也更改了目錄內文件的權限?換句話說,您在發出 chown/chmod 命令時是否使用了“-r”(遞歸)標誌?

答案2

也許不是答案(因為該帖子沒有包含足夠的資訊),但如果需要我可以修改它。在做linux培訓課程的時候我發展了一種快速尋找權限問題的方法。我知道您已經執行了一些步驟,但為了完整起見,我需要完整地寫下來。

  1. 切換到您要用於存取的使用者。在做其他事情之前先做這件事。
  2. 使用id命令檢查您目前的 UID 和群組。用於id name-of-the-user檢查磁碟上的配置。如果它們不同,請登出並重新登錄,然後再次檢查。
  3. 使用“ls -l”檢查目標目錄。不要忘記檢查權限後面的字元。可能有一個點表示這是一個 selinux 上下文,或者可能有一個加號表示 Linux ACL 已設定。
  4. 使用“cd”進入目錄。
  5. 對常規文件執行必要的操作。用於touch檢查寫入存取權限,cat用於檢查讀取存取權限。
  6. 檢查應用程式層級上的一切是否按預期工作(例如,使用瀏覽器存取應導致相應操作的 URL、使用您最喜歡的先前失敗的編輯工具等)
  7. 將上述任何檢查新增至應用程式層級。

如果任何操作失敗且您不知道原因,請檢查日誌中是否有 selinux 警報或類似資訊。您也可以嘗試新增strace -o strace.log到命令列,然後檢查 strace.log沒有權限消息。但這都是黑魔法,除非你知道確切的原因沒有權限

相關內容