繁體中文

開發者工具 · Chmod 計算器

chmod 八進位數字如何對應到 rwx 權限位 (4, 2, 1)

· 工作原理

chmod UNIX 開發人員工作流程

八進位權限數字分為擁有者、群組和其他 rwx 位
原始 ToolAcre 向量圖

每個八進制數字都是三個偽裝的二進制標誌。這篇文章展示了將 7 轉換為 rwx 並將 5 轉換為 r-x 的算術,因此您可以在沒有查找表的情況下讀取和寫入任何模式。

您不斷貼上的數字 — chmod 755 有效,但您無法說出 5 授予什麼或授予誰

運行 chmod 755 因為論壇回答說這樣可能會授予比應用程式需要的更多存取權限。 Unix 模式是對誰可以讀取、寫入或執行檔案的緊湊編碼;該數字不是在權限被拒絕時貼上的任意設定。在更改之前,詢問哪個身分擁有該檔案、進程作為哪個群組運行以及哪個操作實際失敗。語法上有效的模式不能解決錯誤的擁有者或缺少父目錄執行權限的問題。

三個類別,三位數字 - 所有者、組和其他人各按固定順序獲得一位八進制數字

三個八進制數字依序描述三個類別:所有者、組、其他。在 640 中,所有者獲得 6,組獲得 4,其他人獲得 0。 「其他」並不意味著 root 或服務帳戶;而是指其他使用者。這意味著在普通模式位元檢查下,身分既不符合擁有者也不符合檔案群組。可選的前導第四位數字處理特殊模式,例如 setuid、setgid 和 Sticky,這是一個單獨的主題,不應從後面的三個數字中推斷出來。

讀取 4、寫入 2、執行 1 — 為什麼權重是 2 的冪以及它們如何與 0 到 7 之間的任何值相加

每個類別都有三個位,權重為讀=4、寫=2 和執行=1。僅新增允許的權重:7=4+2+1 (rwx)、6=4+2 (rw-)、5=4+1 (r-x) 和 0=---。它們是 2 的冪,因此三個獨立標誌的組合不會產生與另一個標誌相同的總數。目錄執行的意思是遍歷,而不是「運行這個資料夾」;目錄通常需要它來讓使用者存取其中的文件,即使文件本身俱有讀取權限。

工作範例:手動解碼 640 和 751 — 將每個數字轉換為二進位三元組,然後轉換為 rwx 字母

依類別解碼640:6 -> 二進位110 -> rw-; 4 -> 100 -> r--; 0 -> 000 -> ---。九個權限字母是rw-r-----。解碼 751:7 -> rwx,5 -> r-x,1 -> --x,給 rwxr-x--x。請注意 751 中的「other」如何無需讀取或寫入即可遍歷或執行。這對於目錄可能是有意的,但值得對敏感文件進行審查。使用 Chmod 計算器來比較八進位和符號輸出,而不是記住範例。

換個方式:從 ls -l 到八進位 — 讀取 rwxr-x--- 並新增每個類別的權重

從符號模式(例如 rwxr-x---)向後工作。主人有4+2+1=7,團體4+1=5,其他0;結果是 750,而不是 755。長 ls -l 顯示還具有前導文件類型字符,並且可能顯示 ACL 的尾隨 +,因此不要將整個顯示字符串輸入三位數算術。對於目錄,為每個類別單獨規劃讀取/寫入/執行,而不是複製相鄰檔案的模式。

這不包括 - setuid、setgid 和 Sticky 的前導第四位數字,以及用加號 ls 標記的 ACL

這個由七部分組成的演練涵蓋了普通的九個權限位元。它不解釋 setuid、setgid 和 Sticky 的前導 4、2 或 1;這些位元改變程式或目錄的行為方式,並在符號輸出中由 s/S 或 t/T 表示。存取控制清單可以授予或拒絕超出這個簡單圖片的存取。 ToolAcre 計算器支援其他特殊位,但在生產系統上啟用它們之前,您應該閱讀它們單獨的解釋。

重點:模式是您可以計算的九位元 - Chmod 計算器可讓您在瀏覽器中檢查任一方向的轉換

模式是你可以計算的九個標誌,而不是咒語。 Chmod 計算器可在瀏覽器中轉換八進位和符號形式,以便您可以在自己執行任何 chmod 命令之前測試建議的模式。該工具不會更改您電腦上的權限:它提供字串和推理,而您的 shell 和檔案系統仍由您控制。