linux新文件权限设置之umask的深入理解

  

  

起源是一道题1:如果你的umask设置为022年,缺省的你创建的文件权限为?
  

  

这让我回忆起被问过的另外一道题2:777表示什么权限?
  

  

用户组说明
  

        -rwxrw-r量1根根1213年2月2日09:39 abc      
      <李>第一个字符代表文件(-)目录(d)、链接(l)   <李>其余字符每3个一组(特权),读(r)、写(w),执行(x)   <李>第一组特权:文件所有者的权限是读,写和执行   <李>第二组rw -:与文件所有者同一组的用户的权限是读、写但不能执行   <李>第三组r -:不与文件所有者同组的其他用户的权限是读不能写和执行   <李>也可用数字表示为:r=4 w=2, x=1,因为特权代表三位二进制的话,正好计算出这几个数字。   
  


  

  

那么回到前面题2777是三位八进制数,对应111111111,则代表三个组都可读可写可执行,我们可以这么用:

        chmod 755 abc//chmod改变文件abc的权限为文件所有者可读可写可执行,同组和其他组用户是可读可执行      


  

  

umask是权限掩码,代表默认不要的权限,它是基于文件最大默认值666,文件夹777的基础上取计算该用户新建对象的默认权限的。
  

  

比如,题1,那么创建文件的默认权限就是666 - 022=644,也就是-rw-r——r

  

<强> umask是用来做什么的
  

  

默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6 - 0、6 - 2、6 - 2),建立的目录的默认权限是755(7、7 - 2、7 - 2),可以用ls - l验证一下,现在应该知道umask的用途了吧,它是为了控制默认权限的。

        [root@bogon测试]# id   uid=0(根)gid=0(根)组=0(根)上下文=unconfined_u: unconfined_r: unconfined_t: s0-s0: c0.c1023   # umask root@bogon测试   [root@bogon测试]# a.txt联系   [root@bogon测试]# ls - l   总0   -rw-r——r。1根根0 7月3日00:40 a.txt   [root@bogon测试]# mkdir b   [root@bogon测试]# ls - l   总0   -rw-r——r。1根根0 7月3日00:40 a.txt   drwxr-xr-x。2根根6 7月3 00:41 b      

从上面可以看的到,根的umask是022(第一个0代表特殊权限位,这里先不考虑),创建的文件默认权限是644,创建的目录是755 .

  

在了解umask的使用之前,需要先讲解下文件的基本权限

  

     <标题> linux文件权限         ,   r   w   x         文件   ,可以查看文件内容   ,可以修改文件   ,可以把文件启动为一个运行的程序         目录   ,可以ls查看目录中的文件名   ,可以在目录中创建或者删除文件(只有w权限没法创建,需要x配合)   ,可以使用cd 进入这个目录ls-l显示目录内文件的元数据的信息            

  

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

linux新文件权限设置之umask的深入理解