天天看點

【Linux基礎程式設計】umask指令

01、文章目錄

文章目錄

      • 01、文章目錄
      • 02、指令介紹
      • 03、指令格式
      • 04、常用選項
      • 05、參考示例
        • 5.1 檢視目前使用者的權限掩碼
        • 5.2 以字母的形式顯示新檔案的預設權限
        • 5.3 帶umask開頭,以數字的形式顯示掩碼
        • 5.4 設定目前掩碼權限為0022
        • 5.5 字母法方式設定權限掩碼
      • 06、總結

02、指令介紹

不知道大家熟悉不熟悉關于windows下檔案夾的權限。

其實windows和Linux檔案夾這些權限是十分相似的,當然其中有一些不一樣,但是,這裡我們不讨論。

而umask指令就是用來設定限制建立檔案權限的掩碼。

當新檔案被建立時,其最初的權限由檔案建立掩碼決定。使用者每次注冊進入系統時,umask指令都被執行, 并自動設定掩碼mode來限制新檔案的權限。使用者可以通過再次執行umask指令來改變預設值,新的權限将會把舊的覆寫掉。

03、指令格式

04、常用選項

-S:以字元的形式顯示目前建立檔案的預設權限。
-p:帶umask開頭以數字的形勢顯示目前掩碼
           

05、參考示例

5.1 檢視目前使用者的權限掩碼

[[email protected] test]$ umask 
0002
[[email protected] test]$
           

5.2 以字母的形式顯示新檔案的預設權限

[[email protected] test]$ umask -S 
u=rwx,g=rwx,o=rx
[[email protected] test]$ 
           

5.3 帶umask開頭,以數字的形式顯示掩碼

[[email protected] test]$ umask -p
umask 0002
[[email protected] test]$ 
           

5.4 設定目前掩碼權限為0022

[[email protected] test]$ umask 0022
[[email protected] test]$ umask 
0022
[[email protected] test]$
           

5.5 字母法方式設定權限掩碼

[[email protected] test]$ umask u=,g=w,o=rwx
[[email protected] test]$ umask
0750
[[email protected] test]$ 
           

Ps:

  • 利用umask指令可以指定哪些權限将在新檔案的預設權限中被删除。例如,可以使用上面的指令建立掩碼,使得組使用者的寫權限,其他使用者的讀、寫和執行權限都被取消。
  • 應注意:操作符“=”在umask指令和chmod指令中的作用恰恰相反。在chmod指令中,利用它來設定指定的權限,而其餘權限則被删除;但是在umask指令中,它将在原有權限的基礎上删除指定的權限。
  • 不能直接利用umask指令建立一個可執行的檔案,使用者隻能在其後利用chmod指令使它具有執行權限。假設執行了指令umask u=, g=w, o=rwx,雖然在指令行中,沒有删去檔案主群組使用者的執行權限,但預設的檔案權限還是640(即 rw-r-----),而不是750(rwxr-x—)。但是,如果建立的是目錄或者通過編譯程式建立的一個可執行檔案,将不受此限制。在這種情況 下,會設定檔案的執行權限。
  • 也可以使用八進制數值來設定mode。由于在umask中所指定的權限是要從檔案中删除的,是以,如果該檔案原來的初始化權限是777,那麼執行指令umask 022以後,該檔案的權限将變為755:如果該檔案原來的初始化權限是666,那麼該檔案的權限将變為644。

06、總結

最後的最後還是用一張圖檔來做總結吧。
【Linux基礎程式設計】umask指令

相信各位已經對權限有哪些已經有一定的認識了,讀、寫、可執行。

版權聲明:轉載請注明出處,謝謝!

繼續閱讀