chmod與umask區分命令
chmod命令用於改變文件的目錄的訪問權限,他是一條非常重的系統命令。用戶可以用其控制文件或目錄的訪問權限。
umask是創建文件或創建一個文件目錄的一個默認權限。當使用不帶參數的umask命令是,喜用會輸出當前umask的值。
[root@localhost root]# umask
0022
通常文件權限只會用到後3位,即002。
umask 與 chmod 命令設定剛好相反,umask用的是“補碼”,而chmod設置的是文件的權限碼。對於文件而言,系統不允許創建之初就對其賦予可執行權限,因此文件權限的最高限定是6,目錄為7。將最高可選值減去umask中的值即是默認文件創建權限。因此當umask為022時,默認創建文件的權限為644,而默認創建目錄的權限為755。
umask只是一條命令,終端退出後則會失效,下次則需要重新運行。
試過將/etc/profile,~/.bash_profile,/root/.bash_profile文件中的umask 022改為002,重啟終端都未生效,或許終端打開執行的並不是這些文件的環境。
最後找到/etc/bashrc,找到umask 022這一行將其更改為umask 002後則順利生效。