鸟哥的Linux私房菜(六)——文件与目录的默认权限与隐藏权限

       在Linux系统中,除了基本的 r、w、x 权限外,在Linux的Ext2/Ext3文件下,我们还可以设置其他的系统隐藏属性。这部分隐藏属性可用chattr来设置,而用lsattr来查看,最重要的属性就是可以设置其不可修改的特性,连文件所有者都不能进行修改。该特性在安全机制方面有相当重要的应用。


一、umask的用法

作用:umask指定“当前用户在新建文件或目录时的权限默认值”。查看默认权限的方式有两种,一种是直接输入umask,此时可以看到数字形态的权限设置分数;另一种是加入-S(Symbolic)参数,会以符号类型的方式显示出权限。

格式:umask  xxx

举例:

umask数字权限解析:

       直接输入umask后,会显示一个四位数字,第一位数字代表特殊权限用的(我们先暂时忽略),后三位代表权限。在默认权限的属性上,目录与文件不一样。因为一般文件通常用于记录数据,创建时不应该有执行权限。因此,默认情况如下:

  • 若用户创建文件,则默认没有可执行权限,即只有r、w权限,也就是权限最大为666。默认权限如下:-rw-rw-rw-
  • 若用户新建目录,由于x权限与是否可以进入该目录有关,所以默认权限均开放,最大为777。默认权限如下:drwxrwxrwx

但需注意的是:umask的权限分数采用“补码”的形式,即指“该默认值需要减去的权限”。

                         默认权限-umask所接权限==>chmod代表的权限

以umask 022 为例,文件所有者owner并没有被拿掉任何权限,group和others的权限被拿走了2(也就是没有w写的权限)。

所以当用户:

  • 创建文件时:(-  rw- rw-  rw-)-(- --- -w- -w-)==>- rw- r-- r--        666-022==>644, 即 chmod  644
  • 新建目录时:(d rwx rwx rwx)-(d --- -w- -w-)==>d rwx r-x r-x  777-022==>755,即chmod 755

建议:在umask与权限计算过程,最好使用符号方式计算,使用数字计算时可能会出现一些低级错误

比如:假设umask分数为003,该umask情况下,

          新建的目录权限为:(d rwx rwx rwx)-(d --- --- -wx)==>d rwx rwx r--  777-003==>774(正确)

          新建的文件权限为:(-  rw- rw-  rw-)-(- --- --- -wx)==>- rw- rw- r--        666-003==>663,663字符表达为- rw- rw- -wx  ,为什么跟前面字符计算的结果不一样呢?仔细想想看:原本文件就默认没有x执行权限,怎么突然冒出来了呢?所以,663的计算结果完全不对,在使用数字计算时要特别小心这一点。

 

二、chattr的用法

作用:设置文件的隐藏属性,但需注意的是该命令只能在Ext2/Ext3的文件系统上生效,其他的文件系统可能无法支持这个命令。

格式:chattr  [+-=][ASacdistu]  文件或者目录名

参数:

         + ——增加某一个特殊参数,其他原本存在的参数则不动

         - ——删除某一个特殊参数,其他原本存在的参数则不动

        = ——仅仅有后面接的参数

        a——当设置a参数后,该文件只能增加数据,既不能删除数据也不能修改数据。只有root才能设置这个属性。

        i——可以让一个文件“不能被删除、改名,设置连接也无法写入或者添加数据”,只有root才能设置这个属性。这对于系统安全有相当大的保护作用。

举例:

三、lsattr的用法

作用:显示文件的隐藏属性

格式:lsattr  [-adR]  文件或目录名

参数:

         -a——将隐藏文件的属性也显示出来

        -d——如果连接的是目录,仅列出目录本身的属性而非目录内的文件名

        -R——连通子目录的数据也一起列出来

举例:

      

 

 

 

         

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值