umask 是什么 (修訂版)

由於原來發布的有些錯誤,下面的錯誤理解為顯著標明,

umask是什么?

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事 情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在 /etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

如何计算umask值?

umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应 的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增 加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。

 

創建的文件或者是目錄的權限就是(最大值- umask)
可以簡單的認為
對於文件來說:最大值為666
對於目錄來說:最大值為777
 

    上面不應該是最大值減去umask, 以umask=025為例,

    按照上面的說法創建出來的文件應該是641才對, 但是實際創建出來的文件權限是642,這是為什麼呢?

 

    

 

   umask應該這樣算才對,首先我們需要明白文件的最大權限是666,即文件在都沒有執行權限  , 那我們就要看看為什麼權限會是642而不是641,

                       umask 025 = 000 010 101 

                     取反後     ~      111 101  010 = 752

把所有的執行權限去掉成為110 100  010 = 642

所以結果是這樣出來的。

 

 同理,如果是025的創建出來的目錄的權限應該是752才對,因為執行權限的那一位不用去掉

 

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值