参考文章:文件默认权限umask hi.baidu.com/superman_0483/blog/item/c433f4ddc718f53c5982dd11.html
今天在看到这里的时候
You must run the OUI as the Oracle user .However,before you start othe OUI,you must configure the environment of the oracle user. To configure the environment,you must:
- set the default file mode creation mask(umask) to 022 in the shell starup file
- set the DISPLAY and ORACLE BASE environment variables
竟然对umask 022的意思有些不甚清晰了.故记录在此
$ umask 022
umask
读写执行权限分别对应是
R -- 4
W -- 2
X -- 1
写是 2 ,022 表示group,other 的写权限,umask=022 掩码表示取消group , other 用户的些权限。
为oracle账号设置umask为022,是用以保证group和other有对安装的文件的读和执行许可,但无写权限。可以输入umask命令检查当前的设置。
如果umask命令不返回022,在oracle账号的.profile或.login文件中设置它并且执行下列命令
功能说明:指定在建立文件时预设的权限掩码。
语 法:umask [-S][权限掩码]
补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
参 数:
-S 以文字的方式来表示权限掩码。
文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入
例1.若要设置真实权限用八进制表示为644,则被666基数减得022,022即掩码。使用umask 022。
目录:用八进制基数777
例2:若要设置真实权限用八进制表示为755,则被基数为777的权限字相减后,得掩码022。则使用umask 022进行设置。
1.文件基数为666,目录为777,即文件无设x位,目录可设x位。
2.chmod是设哪个位,该位就有权限,而umask是设哪个位,则该位上就没权限。
umask一般是用在你初始创建一个目录或者文件的时候赋予他们的权限。
这里要说明两点:
1、针对目录来说x权限代表可以进入该目录,所以说对于这个权限初始赋值是没什么问题的;
2、针对文件的x的权限代表执行,这个风险太高,所以一般权限初始赋值必须去掉x的;
[root@www ~]# umask
0022
这四个字母代表什么?
首先说明一点,上面四个数字代表是赋值初始化准备丢弃的权限。(相对应文件来说,x权限就算没说明出来丢弃一样必须默认丢弃)
第一个0代表suid 丢弃的权限;
第二个0代表本文件/目录拥有者什么权限都没丢弃(如果是文件,x权限除外,为什么看看上面解释);
第三个2代表本文件/目录的用户组丢弃了w权限(如果是文件那么它的x权限也丢弃);
第三个2代表本文件/目录的其他用户能使用的权限只有有r和x(文件除外)。
综合上面所说如果你新创建一个文件那么它的权限是:-wr-w--w-- 即是:644
如果你新创建一个目录的话那么它的权限是:dwrxw-xw-x 即是:755
如果你要修改unask熟悉直接:
[root@www ~]# umask 002
明白了吧!