Linux权限掩码指令umask

转载 博客园  2022-08-22 10:56  阅读 23 次
阿里云免费代金券,购买阿里云产品前先领券更优惠!

简介

linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。
文件的访问允许权限共有9种,分别是:rwxrwxrwx
它们分别代表:用户读 用户写 用户执行 组读 组写 组执行 其它读 其它写 其它执行

功能及参数介绍

umask(显示、设置文件的缺省权限即默认权限)

语法:umask [-S]

说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。[-S] 以rwx形式显示新建文件或目录缺省权限 。

例:umask查看默认权限(0022)。第一位0——特殊权限位 ;022-用户权限位,权限掩码值实际权限值:777—022=755(目录权限)。

Linux权限规则:缺省创建的文件不能授予可执行x权限(文件默认权限644)。 这规则屏蔽了很多的攻击和病毒,任何木马病毒不可执行就没价值。

umask -S(很多unix系统中没有umask -S选项) 可用umask查看默认的文件权限掩码值,也可用它改变系统缺省的创建文件的权限:

umask 权限掩码值

例:umask 027(目录默认权限变为750,文件为640)

文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入。
例一:设要生成的文件以rw- r-- r--这样的权限字出现,即真实权限用八进制表示为644,则被666基数减得022,022即掩码。使用umask 022。
注:033效果与022一样,假设使用033掩码进行设置,则真实权限应为633即rw- rx rx ,但前提规定文件不生成x位,所以文件的权限最终将以rw-r--r --出现。

目录:用八进制基数777
例二:设要生成的目录权限以rwxr-xr-x这样的权限字出现,即真实权限用八进制表示为755,则被基数为777的权限字相减后,得掩码022。则使用umask 022进行设置。

总结

掌握两个要点:

  1. 缺省文件基数为666,缺省目录为777,即文件无设x位,目录可设x位。
  2. chmod是设哪个位,哪么哪个位就有权限,而umask是设哪个位,则那个位上就没权限,即chmod指令是“给于”使用或者是将要改变的许可权限,而umask 则是“取消”使用许可权限。
本文地址:https://8ik.cn/archives/416
关注我们:请关注一下我们的微信公众号:扫描二维码捌栢科的公众号,公众号:Hey_MrBoss
温馨提示:文章内容系作者个人观点,不代表捌栢科对观点赞同或支持。
版权声明:本文为转载文章,来源于 博客园 ,版权归原作者所有,欢迎分享本文,转载请保留出处!
【腾讯云】买云服务器,参与礼品兑换、抽奖,最高送价值8000元IPad,还有Bose耳机、千元京东卡等您来!

发表评论


表情