chmod 值是一個三位數或四位數的八進位數字,用來編碼 Unix 檔案權限,涵蓋擁有者、群組和其他人,以及選用的 setuid、setgid 和 sticky 位元。每個數字對應一個類別:第一個數字(若存在)代表特殊位元,第二個數字代表擁有者權限,第三個數字代表群組權限,第四個數字代表其他人權限。每個數字都是讀取 (4)、寫入 (2) 和執行 (1) 位元的總和,因此 7 授予全部三種權限,5 授予讀取與執行,0 則不授予任何權限。例如,chmod 755 讓擁有者擁有完整權限(讀取、寫入、執行),並讓群組和其他人擁有讀取與執行的權限。相同的權限也可以用符號表示法寫成 rwxr-xr-x,其中九個字元分別代表擁有者、群組和其他人的特定權限位元。Chmod Calculator 工具能在這兩種嚴格格式之間即時轉換,包括特殊位元,讓你無須背誦八進位數值或符號對應,就能產生所需的精確 chmod 指令。
理解 chmod 值對系統管理員、開發人員以及任何管理 Unix 架構檔案系統的人來說都至關重要。權限控制了誰可以讀取、修改或執行檔案和目錄,直接影響安全性與功能性。例如,網頁伺服器目錄通常需要 chmod 755 (rwxr-xr-x),以便擁有者能寫入檔案,同時讓以不同使用者身分執行的網頁伺服器程序能讀取並執行它們。同樣地,敏感的設定檔通常會使用 chmod 600 (rw-------) 來限制僅有擁有者能存取。權限設定錯誤可能會洩露敏感資料或導致應用程式損壞,因此計算正確的 chmod 值是一項關鍵任務。Chmod Calculator 透過提供清晰且視覺化的權限呈現方式來簡化這個過程,包括常被忽略但對系統行為有重要影響的特殊位元,如 setuid、setgid 和 sticky。

八進位與符號表示法如何搭配運作
八進位與符號表示法是表示同一組 Unix 檔案權限的兩種方式。八進位表示法使用簡潔的三位數或四位數數字,每個數字都是權限位元(讀取=4、寫入=2、執行=1)的總和。例如,數字 7 是 4 (讀取)、2 (寫入) 和 1 (執行) 的總和,授予全部三種權限。另一方面,符號表示法則使用九個字元(例如 rwxr-xr-x)明確顯示擁有者、群組和其他人的各項權限。前三個字元代表擁有者權限,接下來三個代表群組權限,最後三個代表其他人權限。連字號 (-) 表示缺少該項權限。特殊位元——setuid (4)、setgid (2) 和 sticky (1)——在四位數八進位值中以第一位數表示,或在符號表示法中以額外的字元 (s 或 t) 表示。例如,chmod 4755 轉換為 rwsr-xr-x,其中擁有者執行位置的「s」表示已設定 setuid 位元。
| 權限類型 | 八進位值 | 符號字元 | 效果 |
|---|---|---|---|
| 讀取 (擁有者) | 4 | r | 允許讀取檔案或列出目錄內容。 |
| 寫入 (擁有者) | 2 | w | 允許修改檔案或在目錄中新增/移除檔案。 |
| 執行 (擁有者) | 1 | x 或 s | 允許執行檔案或進入目錄。「s」表示已設定 setuid。 |
| Setuid | 4 (第一位數) | s (擁有者執行) | 使檔案以擁有者的權限執行,而不是以執行者的權限。 |
| Setgid | 2 (第一位數) | s (群組執行) | 使檔案以群組的權限執行,或讓新檔案繼承目錄的群組。 |
| Sticky | 1 (第一位數) | t (其他人執行) | 將目錄中的檔案刪除權限限制為檔案擁有者(例如 /tmp)。 |
雖然八進位表示法簡潔且常用於腳本,但符號表示法提供了更易讀的格式,特別是在除錯或記錄權限時。例如,chmod 644 (rw-r--r--) 清楚顯示擁有者擁有讀取與寫入權限,而群組和其他人僅擁有讀取權限。Chmod Calculator 同時支援這兩種表示法,讓你可以輸入八進位值或符號字串,並即時查看另一種格式的對應結果。這種彈性在處理使用八進位值的舊式腳本,或檢視目錄列表(通常以符號表示法顯示)中的權限時特別有用。
一步驟計算 Chmod 值
若要使用 Chmod Calculator 計算 chmod 值,請依照以下步驟在八進位與符號表示法之間轉換,並產生所需的精確 chmod 指令:
- 在瀏覽器中開啟 Chmod Calculator。
- 選擇轉換方向:
- 若你擁有八進位值(例如 755)並想查看對應的符號表示法(例如 rwxr-xr-x),請選擇「Octal to Symbolic」。
- 若你擁有符號字串(例如 rw-r--r--)並想查看對應的八進位值(例如 644),請選擇「Symbolic to Octal」。
- 以要求的嚴格格式輸入內容:
- 若輸入八進位,請輸入三位數或四位數字(例如 755 或 4755)。
- 若輸入符號,請輸入九個字元的字串(例如 rwxr-xr-x 或 rwsr-xr-x),不要包含多餘的空格或字元。
- 檢視結果:
- 「Canonical Octal」欄位會顯示三位數或四位數的八進位值,若包含特殊位元也會一併顯示。
- 「Symbolic」欄位會顯示九個字元的符號表示法,特殊位元會在適當位置以「s」或「t」表示。
- 「Permission Table」會逐一列出擁有者、群組和其他人的權限,顯示每個類別的讀取、寫入與執行權限。
- 確認特殊位元:
- 若八進位值有四位數,第一位數代表 setuid (4)、setgid (2) 或 sticky (1)。
- 在符號表示法中,這些位元會以擁有者或群組執行位置的「s」,或其他人執行位置的「t」呈現。
- 檢查目標檔案的擁有權與最低權限需求。例如,一個由 root 擁有的設定檔可能需要 chmod 600 (rw-------),而一個共用目錄可能需要 chmod 2775 (rwxrwsr-x),以確保新檔案繼承該目錄的群組。
- 複製產生的 chmod 範本(例如
chmod 755 filename),並套用至你的檔案或目錄。
例如,如果你輸入符號字串 rwsr-xr-x,計算機會顯示八進位值 4755、權限表,以及 chmod 指令 chmod 4755 filename。這確認了 setuid 位元已設定,讓任何執行該檔案的使用者都擁有檔案擁有者的權限。同樣地,輸入八進位值 1777 會顯示符號字串 rwxrwxrwt,表示 sticky 位元已設定,這常用於像 /tmp 這類限制檔案刪除的目錄。
何時在 Chmod 值中使用特殊位元
特殊位元——setuid、setgid 和 sticky——透過改變權限的套用方式,延伸了標準 chmod 值的功能。這些位元在四位數八進位值中以第一位數表示,或在符號表示法中以特定字元呈現。了解何時使用它們,對於系統安全性與功能性至關重要。
setuid 位元 (4) 會讓可執行檔以檔案擁有者的權限執行,而非以執行該檔案的使用者的權限執行。這常用於需要提升權限的程式,例如 passwd,它必須修改由 root 擁有的 /etc/shadow 檔案。在符號表示法中,setuid 會以擁有者執行位置的「s」呈現(例如 rwsr-xr-x)。然而,setuid 應謹慎使用,因為如果該可執行檔存在漏洞,或可被未受信任的使用者寫入,可能會帶來安全風險。
setgid 位元 (2) 有兩種不同的用途。對可執行檔而言,它會讓程式以檔案群組的權限執行,類似 setuid,但作用於群組存取。對目錄而言,setgid 會確保在該目錄中建立的新檔案繼承目錄的群組擁有權,而非建立者的主要群組。這在多位使用者協作的共用目錄中非常實用,例如專案資料夾。在符號表示法中,setgid 會以群組執行位置的「s」呈現(例如 rwxr-sr-x)。
sticky 位元 (1) 主要用於目錄,以限制檔案刪除。設定後,即使其他使用者擁有寫入權限,也僅有檔案擁有者(或目錄擁有者)能刪除或重新命名目錄中的檔案。這通常套用於像 /tmp 這類共用目錄,以防止使用者刪除彼此的檔案。在符號表示法中,sticky 位元會以其他人執行位置的「t」呈現(例如 rwxrwxrwt)。
若要使用 Chmod Calculator 套用這些位元,請輸入四位數的八進位值(例如 4755 表示 setuid),或輸入含有適當「s」或「t」字元的符號字串。計算機會顯示對應的表示法與權限表,協助你在套用前確認正確的設定。例如,一個共用的專案目錄可能會使用 chmod 2775 (rwxrwsr-x),以確保新檔案繼承目錄的群組;而一個暫存目錄則可能使用 chmod 1777 (rwxrwxrwt),以限制檔案刪除。
常見的 Chmod 數值及其使用情境
在 Unix 和 Linux 環境中,某些 chmod 數值因其安全性與功能性的平衡而被頻繁使用。這些數值通常會被系統管理員和開發人員記住,但 Chmod 計算機提供了一個快速的方式,可以在需要時驗證或產生這些數值。以下列出一些最常見的 chmod 數值、其符號表示法以及典型的使用情境。
| 八進位數值 | 符號表示法 | 使用情境 | 範例檔案/目錄 |
|---|---|---|---|
| 600 | rw------- | 僅有者存取的私人檔案。 | 設定檔 (.env、.ssh/id_rsa)、敏感的日誌檔案。 |
| 644 | rw-r--r-- | 所有人都能讀取,但僅有者可以修改的公開檔案。 | 網頁 (index.html)、說明文件、共用的腳本。 |
| 700 | rwx------ | 僅有者存取的私人目錄或可執行檔。 | 家目錄、個人腳本、私人應用程式。 |
| 755 | rwxr-xr-x | 所有人都可以存取,但僅有者可以修改的目錄和可執行檔。 | 網頁伺服器目錄 (/var/www/html)、系統腳本、共用工具。 |
| 775 | rwxrwxr-x | 群組成員需要寫入權限的共用目錄。 | 專案資料夾、團隊協作目錄。 |
| 4755 | rwsr-xr-x | 需要以有者權限執行的可執行檔 (setuid)。 | 系統工具 (passwd、sudo)。 |
| 2775 | rwxrwsr-x | 新檔案會繼承目錄群組的共用目錄 (setgid)。 | 團隊專案目錄、共用應用程式資料。 |
| 1777 | rwxrwxrwt | 僅有檔案有者可以刪除檔案的共用目錄 (黏著位元)。 | 暫存目錄 (/tmp)、共用快取資料夾。 |
舉例來說,網頁開發人員可能會使用 chmod 644 index.html 來確保該檔案可被網頁伺服器讀取,但無法被其他使用者修改。同樣地,系統管理員可能會使用 chmod 4755 /usr/bin/sudo 來允許使用者以 root 權限執行 sudo。Chmod 計算機可以即時產生這些指令,降低打錯字或計算錯誤的風險。此外,它還提供權限的視覺化分解,讓您更容易驗證設定是否符合預期的使用情境。
處理目錄時,請務必記得要存取目錄內容需要執行權限。例如,chmod 755 /var/www/html 會授予有者讀取、寫入和執行的權限,並授予群組和其他人讀取和執行的權限,讓網頁伺服器可以從該目錄提供檔案。如果沒有執行權限,使用者和程序就無法列出或存取目錄中的檔案,即使他們對這些檔案擁有讀取權限。Chmod 計算機的權限表格清楚標示出哪些類別擁有執行權限,幫助您避免常見的陷阱。
使用 Chmod 數值排解權限錯誤
權限錯誤是 Unix 和 Linux 環境中常見的問題,通常是由於 chmod 數值不正確所造成。這些錯誤可能會在嘗試讀取、寫入或執行檔案時顯示「Permission denied」(權限被拒) 訊息,或在依賴特定權限的應用程式中出現非預期的行為。Chmod 計算機可以透過提供清晰、視覺化的權限呈現,並產生正確的 chmod 指令,協助您診斷並解決這些問題。
權限錯誤的其中一個常見原因是對檔案或目錄套用了錯誤的 chmod 數值。例如,需要執行權限的腳本,如果沒有設定有者的執行位元,可能會因「Permission denied」而失敗。使用 Chmod 計算機,您可以輸入目前的權限 (八進位或符號皆可),並與期望的權限進行比較。例如,如果某個腳本目前的權限為 rw-r--r-- (644),您可以使用計算機得知需要為有者新增執行權限,結果為 rwxr--r-- (744)。計算機會產生指令 chmod 744 script.sh,您接著可以套用它來解決問題。
另一個常見的問題發生在特殊位元設定不正確時。例如,沒有正確設定的 setgid 目錄可能會導致新檔案繼承錯誤的群組擁有權,進而造成團隊成員的存取問題。如果某個目錄應該啟用 setgid 以確保新檔案繼承該目錄的群組,但目前的權限為 rwxrwxr-x (775),您可以使用 Chmod 計算機判斷出正確的數值為 rwxrwsr-x (2775)。計算機會顯示八進位數值 2775 和指令 chmod 2775 /path/to/directory,讓您能快速套用修正。
權限錯誤也可能發生在檔案或目錄由錯誤的使用者或群組擁有時。雖然 chmod 數值控制了存取權限,但擁有權決定了這些權限適用於誰。例如,由 root 擁有且權限為 rw-r--r-- (644) 的檔案,一般使用者將無法寫入,即使群組或其他人的權限設定為可寫入。在這種情況下,您可能需要先使用 chown 或 chgrp 變更擁有權,再調整 chmod 數值。Chmod 計算機的權限表格能幫助您判斷哪些類別 (有者、群組、其他) 擁有必要的權限,讓您更容易診斷問題出在擁有權還是權限設定上。
若要有效排解權限錯誤,請依照下列步驟進行:
- 使用
ls -l檢查檔案或目錄目前的權限。這會顯示符號表示法 (例如rw-r--r--) 和擁有權資訊。 - 將符號表示法或八進位數值輸入到 Chmod 計算機,查看詳細的權限分解。
- 比較目前的權限與檔案或目錄所需的權限。例如,如果某個腳本需要有者可以執行,請確認有者的執行位元已設定。
- 使用計算機產生正確的 chmod 指令,並將其套用到該檔案或目錄。
- 使用
ls -l驗證變更,並測試該檔案或目錄,確認權限錯誤已解決。
舉例來說,如果網頁伺服器在存取檔案時回傳「403 Forbidden」錯誤,問題可能是該檔案的權限不允許網頁伺服器程序 (以 www-data 使用者或群組的身分執行) 讀取。使用 ls -l,您可能會看到該檔案的權限為 rw------- (600)。若要解決此問題,您可以使用 Chmod 計算機判斷出該檔案需要 rw-r--r-- (644) 的權限,才能讓網頁伺服器讀取。計算機會產生指令 chmod 644 filename,您可以套用它來修正問題。
在某些情況下,即使套用了正確的 chmod 數值,權限錯誤仍可能持續發生。這可能是因為該檔案或目錄所在的檔案系統是以限制性選項掛載的,例如 noexec (防止檔案執行) 或 nosuid (忽略 setuid 和 setgid 位元)。若要檢查這些選項,請使用 mount 指令,並查看相關的檔案系統。如果存在限制性選項,您可能需要使用適當的選項重新掛載檔案系統,或將檔案移動到其他位置。Chmod 計算機仍然可以幫助您判斷正確的權限,但可能需要額外的步驟才能有效套用。
延伸閱讀:Chmod 計算機:八進位與符號轉換工具。
如果您正在評估各種方案,如何使用徽章產生器在 NBA 2K25 中獲得徽章電梯 一文對此有詳細說明。