如何設置UNIX/Linux中新創建目錄或文件的默認權限


在unix或者linux中,每創建一個文件或者目錄時,這個文件或者目錄都具有一個默認的權限,比如目錄755,文件644,那么這些默認權限是怎么控制的呢?

答案是“umask”權限掩碼。一般默認的umask值為022,其最終效果就是新創建的目錄權限為755,文件權限為644。所以只要修改了用戶的umask值,就可以控制默認權限。

怎么查看當前umask值?

umask

0022

umask -S  (SuSE Linux Enterprise 11實例)

u=rwx,g=rx,o=rx 

怎么根據實際需要設置umask值?

其實umask是權限的反碼,你可以根據文件或者目錄權限的數字表示值計算得到。

目錄:7- 權限數字

文件:目錄權限去掉執行權限(不要使用目錄權限減1,否則本來就沒有執行權限還要減1就搞錯了)

如果您希望新建目錄的默認權限為755,那么可以設置umask值為:

7-7=0    7-5=2    7-5-2     即022

此時文件的權限為目錄權限去掉執行權限,即644。

常見權限掩碼示例

umask

目錄

文件

022

755

644

027

750

640

002

775

664

006

771

660

007

770

660

怎么修改umask值?

umask  三位數字(每位數字只能是1-7中的任一數字)

示例:

umask 022

執行該命令只能使得本次登錄有效,如果退出本次登錄,下次不會有作用。

 怎么讓umask值在用戶每次登錄后都有效?

將umask命令語句放到用戶環境變量profile文件中。

修改所有用戶的umask值

在/etc/profile中增加語句umask nnn(權限掩碼數字)

修改指定用戶的umask值

根據不同的shell,修改不同的配置文件,在其中增加語句umask nnn(權限掩碼數字),重新登錄即可生效。

Bourne Shell (sh):$HOME/.profile

Korn Shell (ksh):$HOME/.profile

C Shell (csh): $HOME/.login

Bourne Again Shell(bash):它會在用戶目錄$HOME下依次查找.bash_profile,.bash_login,.profile文件,並用找到的第一個作為自己的配置文件,因此根據實際環境修改相應的文件。

轉自:http://www.wo81.com/tec/os/syscmpr/2014-05-03/197.html


免責聲明!

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



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