Linux中umask的使用方法

  在Linux下新建文件和目录的时候,不用我们去手动设置权限,就会有一个默认的权限。这个默认权限就是根据其本身最大权限和umask计算而来的。

  创建文件默认最大权限为666 (-rw-rw-rw-),默认创建的文件没有可执行权限x位。
  创建目录默认最大权限为777(-rwxrwxrwx),默认创建的目录有x权限,允许用户进入。
  
  那什么是umask呢?
  umask就是配合最大权限计算出默认权限的东西。

  直接输入umask可以查询操作系统的umask值,默认的一般是0022。我的是0002。
  这个umask也可以根据需要自己设置的。命令也很简单,比如 umask 0003。
  这里写图片描述
  主要看后三位022,w对应的是2,这就意味着文件的默认权限就是- rw- r- -r- - (644)。可见就是文件的最大权限里面去掉w权限,因为所有者user对应的数字是0,所以user权限不变。
  同理,目录的默认权限也是最大权限去掉022,也就是drwx r-x r-x (755) 。


Why?设置umask为0004与0005时,创建的文件默认权限都是一样的

设置umask为0004的情况:
这里写图片描述
  由umask的含义知拿掉4(666拿掉004),即拿掉了others的r权限(4),所以创建的0004file文件中others的权限即为-w-,也就是2了。
  
设置umask为0005的情况:
这里写图片描述
  由umask的含义知拿掉5(666拿掉005),即拿掉了others的r权限(4)和x权限(1),但是默认创建的文件没有可执行权限x位,这时候就忽略x。所以创建的0005file文件中others的权限即为-w-,也就是2了。
  

结论

  对于文件来说,如果umask没有去掉x权限,则系统自动处理掉x权限;
  对于文件来说,如果umask有去掉x权限,则系统按正常情况去掉相应权限;
  对于目录来说,则不存在这样的情况。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值