什麼是 Chmod 權限計算機?
Chmod 權限計算機可以把 Unix/Linux 檔案權限轉換成 chmod 指令所使用的數字(八進位)表示法,同時也產生 rwxrwxrwx 符號字串。在類 Unix 系統中,每個檔案都有三組權限——擁有者(owner)、群組(group)與其他人(other),而每一組都可以分別授予讀取、寫入與執行的權限。這個工具適用於所有 POSIX 系統,包括 Linux、macOS 與 BSD。
使用方式
在每一列中勾選你想要授予的權限。擁有者那一列控制檔案建立者的權限;群組那一列控制該檔案所屬群組成員的權限;其他人那一列則控制所有其他使用者的權限。計算機會即時產生 3 位數的八進位模式,你可以直接貼到指令中,例如 chmod 755 file,同時也會顯示易讀的符號形式。
公式說明
每一種權限都有對應的數值:讀取(read)= 4、寫入(write)= 2、執行(execute)= 1。針對每一組權限,把已授予的權限數值相加,就會得到一個 0 到 7 之間的數字:
$$\text{數字} = 4\cdot\text{r} + 2\cdot\text{w} + 1\cdot\text{x}$$
把三個數字依照「擁有者—群組—其他人」的順序排列,就組成了最終的權限模式:
$$\text{Chmod} = \underbrace{\left(4\,\text{r} + 2\,\text{w} + \text{x}\right)}_{\text{Owner}} \;\underbrace{\left(4\,\text{r} + 2\,\text{w} + \text{x}\right)}_{\text{Group}} \;\underbrace{\left(4\,\text{r} + 2\,\text{w} + \text{x}\right)}_{\text{Other}}$$
實際範例
假設擁有者可以讀取、寫入並執行(\(4+2+1 = 7\)),群組可以讀取與執行(\(4+0+1 = 5\)),其他人也可以讀取與執行(\(4+0+1 = 5\)),那麼結果就是 755,符號形式為 rwxr-xr-x——這是執行腳本或目錄最經典的權限設定。
常見問題
644 代表什麼?擁有者可讀+可寫(6)、群組可讀(4)、其他人可讀(4)——這是文件等不需執行的檔案常見的權限設定。
777 代表什麼?所有人都可以讀取、寫入並執行。雖然方便,但安全性極差,一般並不建議使用。
為什麼目錄需要執行權限?對目錄而言,執行位元(execute bit)允許你進入該目錄並存取裡面的檔案,因此只要授予了讀取權限,目錄通常也需要一併給予執行權限。