Linux的默认权限
目录和文件的默认权限属性是不同的:
- 因为进入目录等操作都需要目录具有执行权限,所以目录创建后的默认权限为777,即rwxrwxrwx
- 文件一般不需要执行权限,所以文件创建后的默认权限为666,即rw-rw-rw-
umask
umask 是用来指定“新建文件或者目录的权限掩码”。r、w、x分别是4、2、1,要拿掉读权限就输入4,拿掉读写权限就输入6,以此类推。
查看umask
$ umask # 查看数字形态的权限掩码
0002
$ umask -S # 查看符号形态的权限掩码
u=rwx,g=rwx,o=rx
设置umask
umask 022
如果 umask 为 022 ,也就是说,对于当前用户没有拿掉权限, group 用户和 other 用户都被拿走了 w 权限,所以此时如果用户进行创建目录和文件的时候,默认权限如下:
- 新建文件:666-022=644, 文件的默认权限是 -rw-r–r–
- 新建目录:777-022=755, 目录的默认权限是 rwxr-xr-x
Linux下的 etc/profile 和 etc/bashrc 中有默认的 umask 设置,如下:
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
所以权限掩码方面在 root 用户和普通用户是不一样的,我们来测试一下,结果如下:
# umask
0022
$ su - test
$ umask
0002
root用户的umask是0022,而普通用户test的umask是0002。