一、umask基础知识
- umsak:user file-creation mode mask,是用户创建文件时默认权限的基础。
- umask是一个需要对所有用户都生效的变量,所以需要在
/etc/profile
中设置。 - 没有umask时,文件的默认权限是0666(默认只用来读写),目录的默认权限是0777(一般需要切换到目录下进行操作,所以需要x权限)。
- 最高位代表的是特殊权限(suid:4、sgid:2、sbit:1)
- 正常情况下:管理员的umask值是0022,普通用户的umask值是0002。
[root@tysonscloud ~]# umask
0022
[root@tysonscloud ~]# su tyson
[tyson@tysonscloud root]$ umask
0002
[tyson@tysonscloud root]$ cat /etc/profile |grep -C 5 "umask"
export HISTCONTROL=ignoredups
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
二、验证umask的作用
2.1 umask的作用
用户在创建文件或文件目录时,从其默认权限(目录0777,文件0666)中去掉掩码中的权限(root:0022,普通用户:0002)。
2.2 实例
文件创建时的权限:(普通用户下)默认权限-umask值=0666-0002=0664(rw-rw-r–)。
[tyson@tysonscloud learnUmask]$ touch test
[tyson@tysonscloud learnUmask]$ ll
total 0
-rw-rw-r-- 1 tyson tyson 0 Jan 30 10:05 test