• Linux权限管理


    1.权限基础

    • 权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所有组,通过这样的机制来限制哪些用户、哪些组可以对特定文件进行什么样的操作
    • 每个进程都是以某个用户的身份运行,所有进程的权限与该用户的权限一样,用户的权限大,该进程用户的权限就大
    • 文件的三种权限:

        注:目录必须拥有x权限,否者无法查看其内容

    2.UGO模型

    • Linux权限基于UGO模型进行控制:
      • U代表User,G代表Group,O代表Other
      • 每一个文件的权限基于UGO进行设置
      • 权限三个一组(rwx),对应UGO分别设置
      • 每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或所属组的使用O权限
    • 命令ls -l可以查看当前目录下文件的详细信息
      • 详细信息

     

      • 相关权限

     3.修改文件所属用户和组

    • 命令chown用以改变文件的所有用户:chown 用户名 文件名,-R参数递归的修改目录下的所有文件的所属用户

    • chown [-R] 用户名:用户组  文件名:变更文件及目录的拥有者和所属组(-R递归处理所有文件和文件夹)
    • 命令chgrp用以改变文件的所属组:chgrp 用户组 文件名,-R参数递归的修改目录下的所有文件的所属组

    4.修改权限

    • 命令chmod用以修改文件的权限:chmod 模式 文件名;模式有如下格式:
      • u、g、o分别代表用户、组和其他
      • a可以代指ugo
      • +、-代表加入或删除对应权限
      • r、w、x代表三种权限
      • -R同样是递归修改目录下文件的权限

    • 数字方式修改权限
      • 三个权限分别有三个数字表示:
        • -r = 4
        • -w = 2
        • -x = 1
      • 使用数字表示权限时,每组权限分别为对应数字之和示例
        • rw=4+2=6
        • rwx=4+2+1=7
        • r-x=4+1=5

    5.默认权限

    • 每一个终端都拥有一个umask属性,来确认新建文件、文件夹的默认权限
    • umask使用数字权限方式表示,如:022
    • 目录的默认权限是:777-umask
    • 文件的默认权限是:666-umask
    • 一般,普通用户的默认umask是002,root用户的默认umask是022
    • 对于普通用户来讲:
      • 新建文件的权限是:666-002=664

      • 新建目录的权限是:777-002=775

      • root用户:新建文件:644

      • 命令umask用以查看设置umask值:umask 022,新建文件默认权限变为644

     6.特殊权限

    • 三个特殊权限

      • suid:目的是让某些用户实现它原本没有权限去做的一些操作,通常用在可执行文件中,命令就是可执行文件
        • 通常是给命令或可执行文件用的,命令或可执行文件都会去以一个用户的身份运行,之所以这样是为了限制命令能够去访问的资源,一般的命令都是谁去运行这个命令,我都是以这个命令的用户去运行,这个用户能够访问的权限都会传递给这个命令;
        • 需求:希望用户执行某些命令获得额外的资源和功能;
        • 比如一个命令可以修改操作系统的功能,它的所属用户是root,我让其他用户能够运行这个命令,即o权限设置为r-x,但是又不想开放这个功能,因为普通用户没有修改操作系统的权限,即使你o权限设置为r-x,但其他用户也做不了修改,给这个文件设置suid,普通用户去执行这个文件的时候并不是以用户的身份去执行,而是以这个命令所属用户的身份去执行
        • 系统某些权限只有root用户才有,虽然给普通用户配置了相应的权限,但是仍然执行不了某些操作,所以给文件设置了suid后,普通用户就以所属用户的身份去操作这个文件;
        • 比如命令passwd,用户的密码存放在/etc/shadow下面,除了root,其他所有用户什么权限都没有,所以给passwd设置了所属用户root的权限,可以修改密码

      • sgid:设置了sgid的目录,所有新建的文件和文件夹都会继承(递归)该目录的所属组,方便权限控制
      • sticky:设置了sticky的目录,对目录拥有写入权限的用户不能删除其他用户的文件,常用于同部门(组)员工可以相互访问其他的文件,但是无法删除其他用户的文件
    • 设置特殊权限
      • 设置suid:chmod u+s 文件名

      •  设置sgid:chmod g+s 文件名

      • 设置sticky:chmod o+t 文件名

    • 与普通权限一样,特殊权限也可以使用数字方式表示
      • -suid = 4
      • -sgid = 2
      • -sticky = 1
      • chmod 6755 文件名:即同时拥有suid和sgid两个特殊权限
  • 相关阅读:
    白盒测试
    测试闰年
    黑盒测试
    等价类划分(2)
    等价类的划分
    《挑战程序设计竞赛》2.3 动态规划-优化递推 POJ1742 3046 3181
    《挑战程序设计竞赛》2.5 最短路 AOJ0189 2249 2200 POJ3255 2139 3259 3268(5)
    《挑战程序设计竞赛》2.6 数学问题-快速幂运算 POJ1995
    《挑战程序设计竞赛》2.6 数学问题-素数 AOJ0009 POJ3126 3421 3292 3641
    《挑战程序设计竞赛》2.6 数学问题-辗转相除法 AOJ0005 POJ2429 1930(1)
  • 原文地址:https://www.cnblogs.com/zhufeng123/p/11831197.html
Copyright © 2020-2023  润新知