一、Linux Umask概述
當我們在Linux中創建一個新文件或目錄時,系統會默認賦予一些權限,如讀寫執行等。umask值是一個權限掩碼,用於控制文件和目錄的默認權限。當前用戶創建的文件和目錄會排除掩碼位上的權限。默認情況下,umask值為022,即掩碼為0022,意味着新創建的文件獨立用戶的讀、寫權限之外,其他所有用戶都有讀權限。目錄默認權限是755,即owner具有read、write、execute權限,group和others只有read、execute權限。
二、Linux Umask值
umask值是三位八進制數,掩碼從左到右分別代表owner、group和others,默認為0022。如果需要更改umask值,可以執行umask命令。
$ umask new_umask_value
例如,如果我們需要將umask值更改為002,則輸入以下命令:
$ umask 002
三、Linux Umask設置
umask值可以在多個地方進行設置,下面是一些示例:
1. 系統級別設置
可以在/etc/profile或/etc/bashrc中設置umask值,用於用戶登錄時生效。
$ sudo vim /etc/profile # 添加以下一行至文件底部 umask 022
2. 用戶級別設置
可以在~/.bashrc或~/.bash_profile文件中設置umask值,用於特定用戶登錄時生效。
$ vim ~/.bashrc # 添加以下一行至文件底部 umask 027
3. 單獨進程設置
可以在進程內部設置umask值。例如,在執行一個shell腳本時需要更改umask值,則可以在腳本文件內部進行設置。
$ vim test.sh # 添加以下一行至文件底部 umask 033
四、Linux中umask命令
umask命令用於顯示或更改umask值。如果不添加參數,則返回當前進程的umask值。
$ umask
如果添加一個三位八進制數字,表示要更改umask值為該數字指定的值。
$ umask 002
五、Linux Umask詳解
在Linux中,umask值的理解較為複雜。默認情況下,umask值設定為022,該值的具體含義如下:
- owner默認有讀、寫、執行權限
- group和others默認有讀、執行權限
其中,掩碼為0的位置表示對應的權限允許被設置。
例如,如果umask值為066,則owner、group和others的read、write權限都被禁止,其它權限都可以被設置。
六、Umask命令用法
umask命令默認返回umask值,也可以使用umask -S命令來以符號形式展示umask值。
$ umask -S # 返回形式如下 u=rw,g=r,o=r
七、Umask權限
在Linux中,umask值的主要作用是用於設置新創建文件和目錄的默認權限。umask值會與當前權限按位取反( ~ ),從而形成新創建文件和目錄的默認權限。
umask值的作用是控制權限,因此umask值越小,所允許的權限越多。
例如,如果要使某個文件除owner外,其它所有用戶都沒有write權限,則可將umask值設為027。
$ umask 027
八、Umask是什麼命令
umask是Linux中的一個常見命令,用於控制文件和目錄的默認權限。umask值可以在多個地方進行設置,並且它會與當前權限做按位取反運算,從而形成新創建文件和目錄的默認權限。在Linux中,umask值的取值可以使用八進制數表示。
結語
本文對Linux Umask進行了詳細闡述,包括Umask值、Umask設置、Umask命令、Umask權限以及Umask是什麼命令等方面。掌握Umask的使用,可以更好地進行文件和目錄的權限控制,保證系統的安全和穩定。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/247781.html