天天看点

Linux里新建文件/目录的默认权限

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

继续阅读