一、umask介紹
umask是一個重要的Linux命令,用於掩碼方式設置文件權限,默認值為022,即新創建的文件默認權限為644,文件夾默認權限為755,但umask的值可以根據需求進行相應的調整。在Linux系統中,每個文件或者目錄都有相應的rwx權限,即讀取、寫入、執行的權限。而umask命令則是用來設定一個掩碼值,該掩碼值中的任何一位都會對應文件的權限。例如,umask的值為022,那麼新創建的文件權限為666-022=644,文件夾的權限為777-022=755。
二、umask命令的參數詳解
umask命令有兩種使用方式:1、使用數字來改變視圖創建文件和目錄所使用的權限掩碼;2、使用符號改變視圖創建文件和目錄的權限掩碼。
1. 數字方式
數字方式使用umask XYZ的形式,其中X表示用戶的默認權限,Y表示組的默認權限,Z表示其他用戶的默認權限。每個數字的具體含義如下所示:
數字 | 含義 |
---|---|
0 | 所有人均有讀、寫、執行的權限 |
1 | 所有人均有讀和執行的權限,沒有寫的權限 |
2 | 所有人均有讀和寫的權限,沒有執行的權限 |
3 | 所有人均有讀的權限,沒有寫和執行的權限 |
4 | 所有人均有寫和執行的權限,沒有讀的權限 |
5 | 所有人均有寫的權限,沒有讀和執行的權限 |
6 | 所有人均有執行的權限,沒有讀和寫的權限 |
7 | 所有人都沒有任何權限 |
例如,若要設置新建文件和目錄權限為可讀寫可執行,那麼umask的值就是000。
umask 000
如果要設置新建文件為可讀,可寫,可執行,即權限為777,則umask的值就是000。
umask 000
2. 符號方式
符號方式使用umask +/- XYZ的形式。其中+表示添加權限,-表示刪除權限,=表示設置權限,而XYZ對應於文件權限rwx。其中符號含義如下所示:
符號 | 含義 |
---|---|
r | 可讀權限 |
w | 可寫權限 |
x | 可執行權限 |
u | 用戶權限 |
g | 組權限 |
o | 其他人的權限 |
a | 所有人的權限 |
例如,要刪除其他人的可執行權限,可以使用umask a-x的方式。
umask a-x
如果要給其他人添加可讀權限,行為為775,可以使用umask u=rwx,g=rx,o=r。
umask u=rwx,g=rx,o=r
三、umask實際應用
umask實際應用非常廣泛,下面介紹幾個使用umask的例子。
1. umask在腳本編寫中的應用
在腳本的編寫中,umask同樣有着重要的作用。比如,我們在編寫腳本時可以設定腳本生成的臨時文件以及其他中間文件的權限,以及文件夾的權限等。如下所示,編寫了一個shell腳本,可以設定臨時文件的權限為600。
#!/bin/bash umask 177 echo "umask set to 177" touch /tmp/testfile
2. umask在FTP服務器中的應用
在FTP服務器上使用umask指令可以用來控制上傳的文件及目錄的權限。如下所示,設定umask為002,在FTP服務器上上傳一個文件時,所有人都可以讀取、寫入文件,而其他用戶只能讀取文件。
# vi /etc/vsftpd/vsftpd.conf # local_umask=022 # 不要改變前面的注釋,直接在下面添加即可 local_umask=002
3. umask的組應用
在Linux系統中,所有用戶都隸屬於一個組中。umask同樣可以應用於組,即使組成員創建新文件時也能制定它的許可權限。如下所示,設置組的umask值為002,當組成員在文件夾中創建文件時,文件的許可將是775。
umask 002 chgrp filegroup /home/filedir/ chmod g+w /home/filedir/
四、umask命令小結
umask是一個非常重要的Linux命令,它可以幫助我們管理文件或者目錄的默認權限。在實際應用中umask也非常靈活,比如在腳本編寫、FTP服務器中、用戶權限管理等方面都有着重要作用。希望通過本文的介紹,讀者可以更加熟悉umask,在應用中更好地處理文件和目錄的權限問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/238290.html