您的位置:首页 > 运维架构 > Shell

Linux bash命令

2009-12-01 11:02 169 查看
Linux .bash_profile中 umask 022 设置问题
===========================================================
作者: tolywang(http://tolywang.itpub.net)
发表于:2008.06.21 09:46
分类: Linux/Unix管理
出处:http://tolywang.itpub.net/post/48/464765
---------------------------------------------------------------

ORACLE_BASE=/u01/product;export ORACLE_BASE
ORACLE_TERM=vt100;export ORACLE_TERM
PS1=`hostname`'<$PWD>$';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 , 是作什么用的呢 ?

$ 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是设哪个位,则哪个位上就没权限。

 

 

 

读写执行权限分别对应是

R -- 4
W -- 2
X -- 1

写是 2 ,022 表示group,other 的写权限,umask=022 掩码表示取消group , other 用户的些权限 。

-rw-r--r-- 1 oracle dba 124 Jun 18 16:33 .bashrc

一般这种目录 -rwxr--r-- 最前面一位表示是文件,为 -
目录为 d , 随后9位表示权限,rwx 表示owner用户权限,中间r-- 表示group权限,最后的 r-- 表示other用户权限。

022 表示group,other 的写权限,umask=022 掩码表示取消group , other 用户的些权限 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息