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

来源:互联网 发布:网络交换机类型的杂志 编辑:程序博客网 时间:2024/06/05 19:37
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,创建文件和目录后默认的权限
root@db2a:/tmp# umask
0022
root@db2a:/tmp# touch file1
root@db2a:/tmp# ls -l file1
-rw-r--r-- 1 root root 0 Aug 20 17:07 file1
root@db2a:/tmp# mkdir dir1
root@db2a:/tmp# ls -ld dir1/
drwxr-xr-x 2 root root 4096 Aug 20 17:12 dir1/

示例2,普通用户umask为002:
qingsong@db2a:/tmp$ umask
0002
qingsong@db2a:/tmp$ touch file2
qingsong@db2a:/tmp$ ls -l file2
-rw-rw-r-- 1 qingsong qingsong 0 Aug 20 17:11 file2
qingsong@db2a:/tmp$ mkdir dir2
qingsong@db2a:/tmp$ ls -ld dir2
drwxrwxr-x 2 qingsong qingsong 4096 Aug 20 17:13 dir2

示例3,一个极端的情况,将umask设置为666,则新建文件没有“任何"权限:
root@db2a:/tmp# umask 666
root@db2a:/tmp# umask
0666
root@db2a:/tmp# touch file3
root@db2a:/tmp# ls -l file3
---------- 1 root root 0 Aug 20 17:16 file3