• Linux入门基础 #8:Linux拓展权限




    本文出自   http://blog.csdn.net/shuangde800

    ---------------------------------------------------------------------------------


    默认权限


    • 每一个终端都拥有一个umask属性,来确定新建文件和文件夹的默认权限
    • umask使用数字权限方式来表示,如022
    • 目录的默认权限是:777-umask 
    • 文件的默认权限是:666-umask 
    • 一般,普通用户的默认umask是002,root用户的默认umask是022
    • 也就是说,对于普通用户来说:
                 新建文件的权限是:666-002 = 664
                 新建目录的权限是:777-002 = 775
    • 命令umask用以查看设置umask值
                 $  umask  查看当前的umask值。(会看到有4位,后面讲)
                 $  umask  022  把当前的umask值甚至为022

        




    特殊权限


    除了普通权限,还有特殊权限
    用命令umask,会看到有4位,每一位占3bit,所以Linux权限二进制共有12位,UGO占了后9位, 开头的3位是特殊权限。

    权限 对文件的影响 对目录的影响
    suid 以文件的所属目录身份执行,而非执行文件的用户
    sgid 以文件所属组身份执行 该目录中创建的任意新文件的所属组与该目录的所属组相同
    sticky 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件

        
    例如:

    $ ls -l /usr/bin/passwd

    显示:

    -rwsr-xr-x 1 root root 41284 Apr 9 2012 /usr/bin/passwd

    U权限的x位变成了s,说明这个文件是suid权限



    设置特殊权限


    设置suid:    $ chmod  u+s  test

    设置sgid:    $ chmod  g+s  test

    设置sticky:  $ chmod  o+t  test

     



    与普通权限一样,特殊权限也可以使用数字方式表示
     -SUID  = 4
     -SGID  = 2
     -Sticky = 1
    所以,我们可以通过以下命令设置:
      $ chmod  4755  test








  • 相关阅读:
    JSON 数据转换
    .NET LINQ 数据排序
    .NET LINQ标准查询运算符
    UML 序列图
    UML 类图
    UML 用例建模
    UML 概述
    .NET LINQ查询语法与方法语法
    .NET LINQ查询操作中的类型关系
    .NET 反射概述
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3304054.html
Copyright © 2020-2023  润新知