tigtools

Chmod 計算器

在勾選方塊、八進位數值與 rwx 表示法之間轉換 Unix 檔案權限,包括 setuid、setgid 與 sticky bit。

在瀏覽器中執行 免註冊

擁有者、群組及其他人的權限
對象讀取寫入執行數值
擁有者 (u)7
群組 (g)5
其他人 (o)5
特殊位元

常用值

指令(八進位)

chmod 755 file

指令(符號)

chmod u=rwx,g=rx,o=rx file

ls -l 會以 -rwxr-xr-x 顯示具有這些權限的一般檔案。

使用方式

  1. 勾選擁有者、群組及所有其他使用者的讀取、寫入與執行方塊。
  2. 或輸入八進位數值(例如 640),或從 ls -l 複製的符號字串(例如 rw-r----- 或 -rw-r-----)。
  3. 如有需要,可加上 setuid、setgid 或 sticky bit,或選擇常用值。
  4. 輸入檔案名稱,然後複製 chmod 指令。

運作方式

三個類別(擁有者、群組、其他人)各有三種權限。讀取權限值 4,寫入 2,執行 1,其總和即為一個八進位數字,因此 rwx = 7、r-x = 5、r-- = 4。三個數字組成權限模式:755 代表擁有者為 rwx,群組與其他人為 r-x。

前面可選的第四位數字存放特殊位元:4 為 setuid、2 為 setgid、1 為 sticky。在符號形式中,它們取代執行位置:s 代表 setuid 或 setgid,t 代表 sticky。大寫 S 或 T 表示已設定特殊位元但未設定執行權限,這通常是錯誤的。

符號輸入框接受九個字元(rwxr-xr-x)或 ls -l 所列出的十個字元形式,其中第一個字元是檔案類型(- 代表一般檔案、d 代表目錄),在此會被忽略。SELinux 或 ACL 所附加的結尾 . 或 + 也會被接受。

會顯示兩道指令:八進位形式可一次設定所有位元,以及等效的符號形式,例如 u=rwx,g=rx,o=rx。檔名若包含空格或其他特殊字元,會為 shell 加上引號;開頭的 ~/ 以及萬用字元 * 和 ? 則不加引號,讓 shell 可以展開。使用 GNU chmod 時,對目錄指定八進位模式不會清除已設定的 setuid 或 setgid 位元;如需移除這些位元,請改用符號形式,或使用五位數模式,例如 00755。

範例

網頁檔案與資料夾

網頁伺服器僅讀取的檔案通常為 644 (rw-r--r--),目錄則為 755 (rwxr-xr-x),以便進入和列出內容。

私人 SSH 金鑰

SSH 會拒絕其他人可讀取的金鑰。僅勾選擁有者的讀取與寫入即可得到 600,指令為 chmod 600 ~/.ssh/id_ed25519(請將路徑作為檔名輸入)。

共用上傳目錄

類似 /tmp 的目錄使用 1777 (rwxrwxrwt):所有人都可以建立檔案,但 sticky bit 可阻止使用者刪除彼此的檔案。

常見問題

755 和 775 有什麼差別?

使用 775 時,群組也可以寫入(建立、變更及刪除目錄中的檔案)。使用 755 時,只有擁有者可以寫入;群組和其他人只能讀取與執行。

為什麼應該避免使用 777?

777 會讓系統上的每位使用者都能變更或替換檔案。在網頁伺服器上,這可能讓其他帳號或遭入侵的處理程序注入程式碼。請只將寫入權限授予擁有者或特定群組。

目錄的執行權限代表什麼?

對目錄來說,執行權限 (x) 表示可以進入該目錄並存取其中的檔案。只有讀取權限時,只能列出檔名,但無法開啟檔案。

這會變更我電腦上的權限嗎?

不會。它只計算數值並產生指令文字。您必須自行在終端機中執行該指令。

隱私權

所有運算都在您的瀏覽器中完成。您輸入的檔案名稱不會被傳送到任何地方、儲存或納入分析。