chmod: 改變檔案模態
檔案的許可權乃根據模態改變. 模態可以分為 絕對模態 與 符號模態 , 絕對模態是一個由下列模態位元的邏輯 OR 構 成的八進位數:
各種模態位元:
+ ---------- 4000 將使用者識別碼設定於執行 (檔案) | 或隱藏目錄 | + ----- 2000 將使用群識別碼設定於執行 | | + -- 1000 固著位元 | | | s s t許可權模態位元:
+ ------------------ 0400 可由所有者讀出 | + ---------------- 0200 可由所有者寫入 | | + -------------- 0100 可由所有者執行 (在目錄中搜尋) | | | + ------------ 0040 可由所有群成員讀出 | | | | + ---------- 0020 可由所有群成員寫入 | | | | | + -------- 0010 可由所有群成員執行或搜尋 | | | | | | + ------ 0004 可由其他人讀出 | | | | | | | + ---- 0002 可由其他人寫入 | | | | | | | | + -- 0001 可由其他人執行或搜尋 | | | | | | | | | r w x r w x r w x符號模態的形式如下:
[ who ] op permission [ op permission ]其中 who 的部份由三個字母組成: u 代表使用者許可權, g 為 使用群許可權, o 為其他人的許可權. 如果其中沒有 who, 則 以字母 a 代表 ugo 的內定值.
op 的值若為 +, 表示增加該檔案模態的許可權項目, - 為取 消許可權項目; 若為 =, 則為指派絕對許可權 (即重設其餘位 元).
許可權部份可由下列表示許可項目的任何字母組成: r (讀出), w (寫入), x (執行), s (設定所有者和所有群識別碼), H ( 隱藏檔案), 以及 t (儲存內文或固著); u g 或 o 代表現行 模態擁有的許可權. 若省略許可權部份, 只有配合 = 才能剝 奪全部的許可權.
其中也可以加入由逗點分隔的多重符號模態. 作業時則以使用 者指定的順序執行. s 只對 u 或 g 作用, t 則只對 u 作用.
只有所有者 (或高階使用者) 才能改變檔案的模態. 但是只有 高階使用者可以設定固著位元. 要能夠設定使用群識別碼, 檔 案的使用群必須與你目前的使用群識別碼相同.
若在符號鏈中使用 chmod 命令, 則符號鏈所指檔案的模態就會 改變.
例子:
- 不允許其他人寫入:
chmod o-w file
- 將檔案變為可執行檔:
chmod +x file
- 允許每個人讀出和執行, 以及設定 set-user-ID 位元:
chmod 4555 file
- 允許所有者讀出和寫入, 並允許其他人讀出:
chmod 644 file