Linux .bash_profile中 umask 022 設定問題

tolywang發表於2008-06-21

ORACLE_BASE=/u01/product;export ORACLE_BASE
ORACLE_TERM=vt100;export ORACLE_TERM
PS1=`hostname`'$';export PS1
EDITOR=/bin/vi; export EDITOR
ORA_NLS33=/u01/product/oracle/ocommon/nls/admin/data;export ORA_NLS33
CLASSPATH=/u01/product/oracle/jdbc/lib/classesl11.zip:/usr/local/java;
export DISPLAY=127.0.0.1:0.0
export LD_ASSUME_KERNEL=2.4.1
PATH=$ORACLE_HOME/bin:$PATH:.; export PATH
umask 022
alias ll='ls -l';
alias ls='ls --color';

我們在Linux系統下安裝Oracle資料庫的時候,設定Oracle使用者的profile , .bash_profile 檔案中設定有 umask 022 , 是作什麼用的呢 ?

[@more@]

$ umask 022

umask

功能說明:指定在建立檔案時預設的許可權掩碼。
語  法:umask [-S][許可權掩碼]
補充說明:umask可用來設定[許可權掩碼]。[許可權掩碼]是由3個八進位制的數字所組成,將現有的存取許可權減掉許可權掩碼後,即可產生建立檔案時預設的許可權。
參  數:
-S  以文字的方式來表示許可權掩碼。

檔案:用八進位制基數666,即無x位(可執行位)rw- rw- rw-.執行位需由使用者自行加入

例一:設要生成的檔案以rw- r-- r--這樣的許可權字出現,即真實許可權用八進位制表示為644,則被666基數減得022,022即掩碼。使用umask 022。

注:033效果與022一樣,假設使用033掩碼進行設定,則真實許可權應為633即rw- r-x r-x ,但前提規定檔案不生成x位,所以檔案的許可權最終將以rw-r--r--出現。

目錄:用八進位制基數777

例二:設要生成的目錄許可權以rwxr-xr-x這樣的許可權字出現,即真實許可權用八進位制表示為755,則被基數為777的許可權字相減後,得掩碼022。則使用umask 022進行設定。

總結:

掌握二個要點,一、檔案基數為666,目錄為777,即檔案無設x位,目錄可設x位。二、chmod是設哪個位,哪麼哪個位就有許可權,而umask是設哪個位,則哪個位上就沒許可權。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1005938/,如需轉載,請註明出處,否則將追究法律責任。

相關文章