linux中修改用戶建立文件時的缺省權限——umask

1、umask是什麼?

  1. linux系統中,用戶登陸到系統中後,建立一個文件的時候,這個文件有一個默認的權限,該默認權限在linux中由umask這個命令來管理。
  2. 直接使用umask命令能夠查看並修改當前shell中用戶建立文件的缺省權限。即修改完後關閉該shell再從新開啓shell會發現上次修改未起做用,這主要是因爲還有一個系統默認的umask的設置,通常在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中設置umask值。
  3. umask的值實際上能夠參考chmod的時候文件權限的數字值,可是umask是要「拿走」相應的位而已:php

    (1)文件的rwx權限對應的數字分別是四、二、1.
    (2)若是umask的值是0002,第一個0與特殊權限有關,暫時忽略,後邊的002,每一位的含義分別討論當前用戶(u),當前所在的組(g),其餘用戶(o)等的權限,u的權限減去0爲權限不變(rw-),g的權限減去0爲權限不變(rw-),o的權限減去2爲減去w權限(r--).

2、umask在業務中有什麼用?

  1. 一般在程序中使用umask命令,好比php中有函數umask(0002),能夠在當前程序中設置默認的建立文件的權限爲rw-rw-r--,可是該程序結束後就會直接恢復原來的umask的值。
  2. 實際上umask就是爲了設置默認的建立文件的權限,使用chmod也能實現相同的業務功能,因此,umask的關鍵詞就是「默認權限」。
相關文章
相關標籤/搜索