Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

為什麼 Linux 擁有 w 權限卻無法刪除檔案?目錄權限深度解析

編輯:關於 Linux

許多使用者誤以為擁有檔案的 w(寫入)權限即可刪除該檔案,實際上 刪除檔案的權限取決於父目錄的權限,而非檔案本身。本文透過實戰場景演示此核心觀念。

場景模擬

  1. root 建立目錄 /oldboy(權限 drwxr-xr-x,其他人無 w)。
  2. root 在目錄下建立 test1.sh(權限 -rw-r--r--)。
  3. 將檔案權限改為 -rwxr--rwx(全體可讀寫執行)。
  4. 普通用戶 oldboy 可讀寫執行該檔案,但 無法刪除(rm: Permission denied)。

核心原因

檔案名稱與 inode 對應關係儲存在父目錄的區塊中。刪除檔案實質是修改父目錄內容(移除目錄項),因此必須擁有父目錄的 w 與 x 權限才能刪除其中的檔案。

解決方法

授予父目錄其他人寫入權限:

chmod 757 /oldboy  # 權限變為 drwxr-xrwx

此後普通用戶即可成功刪除 test1.sh。

目錄權限 rwx 詳細含義

  • r:可列出目錄內容(ls)。
  • w:可在目錄中建立、刪除、重命名檔案(需配合 x)。
  • x:可進入目錄(cd)、存取目錄下檔案細節。

理解此機制,未來遇到「明明有 w 權限卻刪不掉」的情況,即知應檢查父目錄權限。

Copyright © Windows教程網 All Rights Reserved