众所周知,文件/文件夹有访问权限之说:所有者权限(User),所有组权限(Group),其他人权限(Other)。那么当我们创建一个文件(touch test.log)或者文件夹(mkdir test)时,他们会有怎样的权限呢?
事实上,新建文件夹或文件的权限是由所谓基本码减去称之为umask的屏蔽位得到的。
按照规定:文件夹的基本码是rwxrwxrwx(777),文件的基本码是rw-rw-rw-(666)
而屏蔽位则是在/etc/profile(所有人)或者~/.profile中设定的。如果上述文件中皆无设定则默认就是022
cat >> /etc/profile <<EOF
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
因此新建文件夹是777-022=755(rwxr-xr-x),新建文件是666-022=644(rw-r--r--)。
读写执行权限分别对应是
R -- 4
W -- 2
X -- 1
mkdir test
cd test
touch test.log
drwxr-xr-x. 2 oracle oinstall 4096 Jan 10 17:35 test
-rw-r--r--. 1 oracle oinstall 0 Jan 10 17:35 test.log
所以我们可以通过修改umask来改变新建文件文、件夹的权限.
本文乃原创文章,请勿转载。如须转载请详细标明转载出处