andorid创建文件时的默认读写权限详解-umask

一 文件读写权限简介:

文件读写权限就不再详解,数字示例简介如下:

r =4 w =2 x =1 (r:读 w:写x:执行) rwx = 4+2+1 = 7

753 = 4+2+1 ,4+1 ,2+1 = rwx r_x _wx

第一个数字7:是文所有者的权限

第二个数字5:是文件所有者同一组的用户的权限

第三个数字3:不与文件所有者同组的其他用户的权限

二 创建文件时的默认读写权限(umask缺省值)

进程在创建文件时,不可能创建任意读写权限的文件

以android系统为例,在linux内核启动初始化完成,后会对系统内创建文件时,有一个默认的权限限制

例如,进程aaa 在系统目录下创建一个文件或文件夹 a

这个文件或文件夹a的默认读写权限并不是最高的 777 rwxrwxrwx

如下图,而是rwxr__r__ = 4+2+1,4,4 = 744

clipboard.png

这就需要引入umask了,umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是默认“缺少哪些权限”,而chmod设置的是文件权限

以上图为例,直接在系统下输入umask命令可以查看到缺省值 umask = 033

也就是说,新创建的文件的默认权限= 全权限 - umask值 = 777 - 033 = 744 = rwx r_ _ r_ _

umask -S命令,就是直接查看新建文件默认权限的命令

你可能感兴趣的:(andorid创建文件时的默认读写权限详解-umask)