Linux中文档与目录的默认权限
当我们在系统中新建一个文件或目录时,系统会自动赋予该文件或目录一个初始访问权限,我们称为默认权限,默认权限与文件系统的umask值有关。可以在终端下直接输入 umask来查看当前系统的umask值。例如:
显示结果中,第一位是特殊权限,我们暂时只考虑后三位即可。即,目前系统的默认权限为022,那它表示什么意思呢?
我们知道,x权限对于文件来说,表示能否执行该文件,而对目录来说,表示能否cd到该目录。在Linux系统中,出于安全考虑,在不考虑umask的情况下,系统默认设置的权限为:
新建文件的权限是-rw-rw-rw-,权限值是666;
新建目录的权限是drwxrwxrwx,权限值是777。
而最终的系统默认权限即是666或777“减去”umask的值,即文件的默认权限为644,而目录的默认权限为755.即:
新建文件时:(-rw-rw-rw-)-(-----w--w-)è(-rw-r--r--)
新建目录时:(drwxrwxrwx)-(d----w--w-)è(drwxr-xr-x),例如:
而使用umask命令不仅可以查看当前系统的默认权限,也可以设置系统的默认权限,如:
需要注意的是,在计算最终的默认权限时,需要将数值转换为rwx的形式再去相减,而不建议直接使用数字666或777相减。
比如在上图的例子中,umask值为003,则:
新建文件时:(-rw-rw-rw-)-(--------wx)è(-rw-rw-r--)
新建目录时:(drwxrwxrwx)-(--------wx)è(drwxrwxr--)
但若使用数字算的话,对于文件来说,666-003=663,其权限变成了-rw-rw--wx,很明显是不对的。
转载于:https://blog.51cto.com/zhangqingli/1341375