umask 使用

http://libai.math.ncu.edu.tw/bcc16/5/csh/no3-8-11.html Unix C shell...   3-8-1 umask 指令 umask (顯示設定值) umask nnn (設定umask,設定值為000~777的整數) umask 指令的功能是用來“限定”每一個新增的檔案或者是目錄的基本使用權限(permission)。譬如說當使用者以編輯器新產生的檔案,或者從系統的某處拷貝來的新檔案,或以輸出重導向的方式產生的新檔案,或者以指令 mkdir 新建的目錄等等,一切新產生的檔案、目錄它們的最初使用權限,均由來自於這個內建指令 umask 的設定值。假如使用者想要顯示 umask 的設定值,可鍵入指令 umask,設定值即會顯示出: % umask 22 以上所顯示的設定值“22”即代表“022”。因第一個數字為“0”時不顯示。假如顯示值為“2”則代表“002”,顯示值為“0”則代表“000”。一般系統的常用的設定值有“002”、“022”、“037”或“077”等幾種。 指令 umask 的設定值以三個八進位的數字“nnn”代表。數字的範圍自 000 到 777。第一個設定數字給使用者(user),第二個則是設定給用使用者所屬的群體(group),第三個給不屬於同群體的其它使用者(other)。 nnn 所代表的意義與 chmod 指令的 nnn 相似。不同的是 chmod 指令 nnn 是“給於”使用許可權限,而 umask 則是“取消”nnn 的使用許可權限。“限定值”對檔案而言最大到 666,也就相當於三者的權限均為可讀取、可寫,但不能執行。目錄則到 777,即是三者均可讀、寫,執行。現在你應該清楚為什麼一個新編輯完成的 C Shell 程式,還要用指令 chmod 來加上可執行使用權限才能執行的原因了吧! 你所設定的 umask 的設定值雖然只有一個,但是,事實上這個設定值對於目錄及檔案卻有著不同的作用,關於這一點請你特別注意。 設定值的計算方採用的是 XOR 的方法。就是你的設定值與檔案的“666”或目錄的“777”來做 XOR 計算所得的結果便是使用權限。以下我們分別以檔案及目錄為例子用表格來做說明: 檔案權限的最大值 運算 設定值 結果 代表的使用權限 666 XOR 002 664 rw-rw-r-- 666 XOR 022 644 rw-r--r-- 666 XOR 037 640 rw-r----- 666 XOR 077 600 rw------- 目錄權限的最大值 運算 設定值 結果 代表的使用權限 777 XOR 002 775 rwxrwxr-x 777 XOR 022 755 rwxr-xr-x 777 XOR 037 740 rwxr----- 777 XOR 077 700 rwx------ 如果你不喜歡計算的話,以下提供你一個表格,直接對照設定值與檔案及目錄的使用權限的關係,見下表: umask 設定值 檔案使用許可權 目錄使用許可權 0 rw- rwx 1 rw- rw- 2 r-- r-x 3 r-- r-- 4 -w- -wx 5 -w- r-- 6 --- --x 7 --- --- 接著我們實際來設定指令並觀看其使用結果: 5 % umask 022 ; umask 22 6 % ls -l > aa ; ls -l aa 1 -rw-r--r-- 1 akira 61 Aug 31 11:32 aa 7 % mkdir dd ; ls -l total 2 1 -rw-r--r-- 1 akira 61 Aug 31 11:32 aa 1 drwxr-xr-x 2 akira 512 Aug 31 11:33 dd/ 一般而言如果使用者要自行設定或更改這個指令的設定值,最好的方式是將這個指令放在“~/.cshrc”檔案中,讓 C Shell 來為你執行。如果 login 後還有須要更動,可直接在指令行模式下鍵入指令重新設定之。如果使用者不自行設定則系統會給於系統的設定值,一般均為“022”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值