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
arrow
arrow
    全站熱搜

    bluenature0904 發表在 痞客邦 留言(0) 人氣()