Linux里新建文件/目录的默认权限
新建文件默认权限为666,新建目录默认权限为777。但是要"减去" umask的值,umask的值可以使用umask命令看到,一般情况下,root用户的为022,普通用户为002。这里的"减"并非数字上相减,而是减去相应的权限。如果umask为022,则表示:user不减权限,group减掉write权限,other减掉write权限;如果umask为245,表示:user 减去write权限,group减去read权限,other减去read和execute权限。
示例1, root用户umask为022,创建文件和目录后默认的权限
[email protected]:/tmp# umask
0022
[email protected]:/tmp# touch file1
[email protected]:/tmp# ls -l file1
-rw-r--r-- 1 root root 0 Aug 20 17:07 file1
[email protected]:/tmp# mkdir dir1
[email protected]:/tmp# ls -ld dir1/
drwxr-xr-x 2 root root 4096 Aug 20 17:12 dir1/
示例2,普通用户umask为002:
[email protected]:/tmp$ umask
0002
[email protected]:/tmp$ touch file2
[email protected]:/tmp$ ls -l file2
-rw-rw-r-- 1 qingsong qingsong 0 Aug 20 17:11 file2
[email protected]:/tmp$ mkdir dir2
[email protected]:/tmp$ ls -ld dir2
drwxrwxr-x 2 qingsong qingsong 4096 Aug 20 17:13 dir2
示例3,一个极端的情况,将umask设置为666,则新建文件没有“任何"权限:
[email protected]:/tmp# umask 666
[email protected]:/tmp# umask
0666
[email protected]:/tmp# touch file3
[email protected]:/tmp# ls -l file3
---------- 1 root root 0 Aug 20 17:16 file3