umask的定义
umask 是指使用者在创建文件或目录时的权限默认值
umask的查阅方式
vagrant@homestead:~$ umask
0002
vagrant@homestead:~$ umask -S
u=rwx,g=rwx,o=rx
umask的默认权限说明
- 默认情况下:, root的umask会拿掉比较多的属性,root的umask默认是022,这是基 于安全的考虑啦~至于一般身份使用者,通常他们的umask 为002,亦即保留同群组的写入 权力!其实,关于默认umask的设置可以参考/etc/bashrc这个文件的内容,不过,不建议修改该文件
- 若使用者创建文件,则默认"没有可执行(x)权限", 即只有rw两个值,故最大为666分, 默认权限为: -rw-rw-rw-
- 若使用者创建目录,则由于x与是否可以进入此目录有关,因此默认权限全部开放,即最大为777分,默认权限为: drwxrwxrwx
但是需要注意的是umask的分数是"该默认值需要减去的权限", 因为r, w, x 分别是4, 2, 1分, 所以, 当拿掉写的权限, 就是输入2分, 拿掉读的权限,就是输入4分,拿掉读写的权限,就是6分,拿掉执行和写入的权限, 就是3分, 拿掉5分的权限,就是读和执行的权限。
用上面的例子来说明:因为umask为002,所以user没有被拿掉权限,group也没有被拿掉权限,但是others的权限被拿了2(即w这个权限),那么当使用者:
创建文件时: (-rw-rw-rw-) - (--------w-) ==> (-rw-rw-r--)
创建目录时: (drwxrwxrwx) - (d-------w-) ==> (drwxrwxr-x)