Linux文件默認權限——umask


一、umask介紹

在linux系統中,我們創建一個新的文件或者目錄的時候,這些新的文件或目錄都會有默認的訪問權限,umask命令與文件和目錄的默認訪問權限有關。若用戶創建一個文件,則文件的默認訪問權限為 -rw-rw-rw- ,創建目錄的默認權限 drwxrwxrwx ,而umask值則表明了需要從默認權限中去掉哪些權限來成為最終的默認權限值。

二、umask值的含義

可以使用命令 umask 來查看umask值

hadoop@sench-pc:~$ umask 
0002

可以看到umask值為0002,其中第一個0與特殊權限有關,可以暫時不用理會,后三位002則與普通權限(rwx)有關,其中002中第一個0與用戶(user)權限有關,表示從用戶權限減0,也就是權限不變,所以文件的創建者的權限是默認權限(rw),第二個0與組權限(group)有關,表示從組的權限減0,所以群組的權限也保持默認權限(rw),最后一位2則與系統中其他用戶(others)的權限有關,由於w=2,所以需要從其他用戶默認權限(rw)減去2,也就是去掉寫(w)權限,則其他人的權限為rw - w = r,則創建文件的最終默認權限為  -rw-rw-r-- 。同理,目錄的默認權限為 drwxrwxrwx ,則d rwx rwx rwx - 002 = (d rwx rwx rwx) - (- --- --- -w-) = d rwx rwx r-x,所以用戶創建目錄的默認訪問權限為 drwxrwxr-x 。我們通過下面的例子驗證一下:

復制代碼
hadoop@sench-pc:~$ umask 
0002
hadoop@sench-pc:~$ touch test.txt
hadoop@sench-pc:~$ ls -l test.txt 
-rw-rw-r-- 1 hadoop hadoop 0 4月  24 20:31 test.txt
hadoop@sench-pc:~$ mkdir test
hadoop@sench-pc:~$ ls -al test
總用量 8
drwxrwxr-x  2 hadoop hadoop 4096 4月  24 20:32 .
drwxr-xr-x 52 hadoop hadoop 4096 4月  24 20:32 ..
復制代碼

可以看到文件test.txt的權限為 -rw-rw-r-- ,目錄test的權限為 drwxrwxr-x ( . 代表當前目錄,也就是test目錄的屬性)。

 umask 命令顯示的為umask的數字值,還可以使用命令 umask -S 來顯示umask的符號值:

hadoop@sench-pc:~$ umask -S
u=rwx,g=rwx,o=rx

可以看出(rwx rwx rwx) - (rwx rwx r-x) = (--- --- -w-) = 002 。

三、更改umask值

可以通過命令 umask 值 的方式來更改umask值,比如我要把umask值改為027,則使用命令 umask 027 即可。改成027后,用戶權限不變,群組權限減掉2,也就是去掉寫(w)權限,其他用戶減7,也就是去掉讀寫執行權限(rwx),所以其他用戶沒有訪問權限。

復制代碼
hadoop@sench-pc:~$ umask 027
hadoop@sench-pc:~$ umask
0027
hadoop@sench-pc:~$ touch test.txt
hadoop@sench-pc:~$ ls -l test.txt
-rw-r----- 1 hadoop hadoop 0 4月  24 20:49 test.txt
hadoop@sench-pc:~$ mkdir test
hadoop@sench-pc:~$ ls -al test
總用量 8
drwxr-x---  2 hadoop hadoop 4096 4月  24 20:49 .
drwxr-xr-x 52 hadoop hadoop 4096 4月  24 20:49 ..
復制代碼

可以看到文件的默認訪問權限變為了 -rw-r----- ,目錄test的默認訪問權限變為了 drwxr-x--- 。這種方式並不能永久改變umask值,只是改變了當前會話的umask值,打開一個新的terminal輸入umask命令,可以看到umask值仍是默認的002。要想永久改變umask值,則可以修改文件/etc/bashrc,在文件中添加一行 umask 027 。

 四、總結

當我們想改變創建文件和目錄時的默認訪問權限,則可以通過umask命令來實現。

原文地址:

https://www.cnblogs.com/sench/p/8933638.html


免責聲明!

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



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