UNIX 指令 - umask

【說明】

每次系統在建立檔案時,會給予該檔案存取權限,如檔案的擁有者、群、其他使用者等三種類別的讀、寫及執行權(這些限制會依處理程序的不同而有差異)。umask 的功能是再加以限制,經過設定後,能讓使用者所建立出的檔案有相同限制。

例如在一個 0666 的存取權限制下(0666表示使用者、群、其他使用者可讀取及寫入資料),若設定遮罩為 0022(表示不允許群以及其他使用者的寫入權),則產生存取權限的代碼將會是0644,此表示檔案擁有者可讀取、寫入資料,而群及其他使用者只能讀取而無法寫入。

若在一個 0644 的存取權限下,本身已無寫入權限時,設定遮罩亦為 0022,則不會有任何改變權限,這是因為 6是由 4(讀)及 2(寫)二種權力組成,可將 2(寫)去掉,而 4 本身只代表一種權力不包含 2(寫),故不能從它本身除去 2(寫)的權力。

指定的 ooo 是由 3 個 8進位數組成,由左而右每一位數字分別代表檔案的擁有者、群、其他使用者的使用權限。每個數字可由1、2 及 4 等三種數字所相加而成。

1 代表執行權。
2 代表寫入權。
4 代表讀取權。

如果 6 是表示 4(讀取權)+2(寫入權),表示有兩種權力限制,若省略 ooo 的數字,則是將目前的設定情形印出。

【範例】

1. 檢查目前的遮罩:

umask
022

8 進位數 022表示以後產生的檔案對使用者的權限不改變,但對群及其他使用者設定為無法寫入、修改。

2. 將以後所產生的檔案設定成只允許自己讀、寫,而不允許群及其他使用者使用:

umask 077

0 代表著對自己以後所產生檔案的使用權不改變,但對群及其他使用者取消了讀 (4)、寫 (2) 及執行 (1) 的權力,亦即所有的權力 (7) 皆不被允許使用。

網路電視    旅遊景點    算命    象棋殘局    回首頁