一、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-tw/n/238290.html