权限掩码umask详解

umask是chmod配套的,umask的值共有4位,分别代表:gid/uid,属主,组权,其它用户权限。一般用的是后3位。例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)。

1/在home文件夹下,查看umask,执行创建文件:



umask设置的是权限“补码”:如上umask值为022,则对应目录权限为7-0=7,7-2=5,7-2=5,即用777减去umask的相应位上的值;而对应的文件权限是用666减去umask的相应位上的值。

另例:

[root@vbird test]# umask 003
[root@vbird test]# touch test3
[root@vbird test]# mkdir test4
[root@vbird test]# ll
-rw-rw-r– 1 root root 0 Oct 22 00:03 test3
drwxrwxr– 2 root root 4096 Oct 22 00:03 test4/

属性又跟刚刚的不一样啰!test3 666-003 =663,663 应该是 -rw-rw–wx 才对,怎么会是664?呵呵!这里就要特别的给他强调了!尽量不要以数字相加减,容易造成类似上面的问题!

你应该要这样想(-rw-rw- rw-) – (——–wx)=-rw-rw-r–这样就对啦!够能力的话,用二进制来算,不晓得的话,用 rwx 来算!



2  修改umask的值 
    输入:umask 024,则可直接修改以后新建的目录和文件的默认权限为:553,642。


3  umask对应的配置文件
   
 umask的配置文件为:/etc/profile 或 ~/.profile 或 ~/.bask_profile,修改这些文件里的umask值,则umask的值会长期不变。

预设的情况之下, root 的 umask 为 022 而一般使用者则为 002



umask值为002:
1) 文件的最大权限rwx rwx rwx (777)
2) umask值为0 0 2 – - – - – - -w-
3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限
4) 文件权限rw- rw- r– (664) 这就是文件创建缺省权限
下面是另外一个例子,假设这次u m a s k值为0 2 2:
1) 文件的最大权限rwx rwx rwx (777)
2 ) u m a s k值为0 2 2 – - – -w- -w-
3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限
4) 文件权限rw- r– r– (644) 这就是文件创建缺省权限

参考 :

http://liangbing8612.blog.51cto.com/2633208/637309 

http://myswirl.blog.163.com/blog/static/513186422010815113542243/ 





原文地址:https://www.cnblogs.com/iathena/p/5626082.html