linux命令——umask


用途

預設權限(權限掩碼)

我們知道, 當我們建立一個目錄或檔案時,它都會帶一個默認的權限:

若使用者建立為 '檔案' 則預設 '沒有可執行 ( x ) 項目', 亦即只有 rw 這兩個項目,  用數字表示就是666或字母 

                  –rw-rw-rw-

若使用者建立為 '目錄', 則由於 x 與是否可以進入此目錄有關, 因此預設為所有權限均開放, 亦即為777 或字母
                  d-rwx-rwx-rwx

umask就與這個默認權限有關. 那么 umask 是在搞什么呢? umask 就是指定 '目前用戶在建立檔案或目錄時候的權限默認值'.

用法

1. 查看

我們可以這樣查看umask默認值,

# 查看
$umask         # 數字形式
002           # 有的機器可能會顯現4個數字,我們一般用后三個 $umask -S       # 字符形式  u=rwx,g=rwx,o=rx

要注意的是,umask 的分數指的是該默認值需要減掉的權限。

因此,上面的002實際上是去掉了其他用戶的寫權限,對於檔案來說也就是, 實際權限是664,即:

                    -rw-rw-r-

對於目錄來說, 實際是773, 即:

                    -rwx-rwx-rx

2. 設置

umask 002

umask后面接3個數字就可以設定了. 若要長期修改umask的值, 可以把它寫進/etc/profile或~/.profile或~/.bash_profile中. 

例題

假設你的 umask 為 003, 請問該 umask 情況下, 建立的檔案和目錄權限為?
答: umask 為 003, 所以拿掉的權限為 --------w, 因此:

  檔案: (-rw-rw-r-) - (--------wx) = -rw-rw-r--

  目錄: (drwxrwxrwx) - (--------wx) = drwxrwxr--

以上面例題來看,  如果使用默認屬性相加減, 則檔案變成, 666-003=663, 亦即是 -rw-rw--wx , 這可是完全不對的!  想想看, 原本檔案就已經去除 x 的默認屬性了, 怎么可能突然間冒出來了? 所以, 這個地方得要特別小心. 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM