美文网首页
Day20操作系统权限知识

Day20操作系统权限知识

作者: a幕城 | 来源:发表于2019-11-07 15:08 被阅读0次

    系统常见权限信息
    r(4)读权限:

    • 文件信息:内容信息可以读取
    • 目录信息:查看目录的数据信息
      w(2)写权限:
    • 文件信息:内容信息可以编辑
    • 目录信息:操作目录数据信息(删除删除数据/创建数据/移动数据/修改数据名称)
      x(1)执行权限
    • 文件信息:文件可以进行执行 /etc/rc.local
    • 目录信息:目录可以进行切换
    `系统权限分配方式:`
        `  rwx  第一组权限: 分配给属主用户
           rw-  第二组权限: 分配给属组用户
           r--  第三组权限: 分配给其他用户
           PS: 系统常用权限位: 9位权限位  实际是为12位  (面试)
        3) 系统权限配置方法:
           rwx- 000~777 001 002 003
    

    统权限详细说明:
    文件权限总结:
    1)文件如果想正常编写, 必须要有读权限
    2) 文件如果想正常执行, 必须要有读权限
    3)文件如果拥有执行权限, 管理员用户拥有文件绝对权限
    总结: 对于文件来说, 读取权限是最重要, 可以让写和执行权限有意义

    `目录权限总结:`
    1) `目录如何想正常查看, 必须要有执行权限
    2) 目录如何想正常操作, 必须要有执行权限
    3) 目录没有任何权限信息, 管理员用户拥有目录绝对权限
    总结: 对于目录来说, 执行权限是最重要, 可以让读和写权限有意义`
    
    `最终结论:
    1) root用户在系统中属于无敌存在, 只要文件有执行权限, 可以随意操作文件和目录信息`
    

    当目录只有读权限时, 属主用户查看信息为什么只能看见文件名称, 不能看见文件属性信息?
    说明:
    1) 目录只有读权限, 只能利用读权限查看目录block信息
    2) 目录需要有执行权限, 才能进入到目录中, 查看文件的inode获得属性信息
    提示: inode block
    inode作用: 查看数据内容索引信息
    存储: 文件属性信息/block指针信息
    block作用: 真正存储数据内容信息
    普通文件: inode 文件属性 指针信息
    block 真正文件内容
    目录文件: inode 目录属性 指针信息
    block 目录下面数据名称

    练习题
    一个文件权限为777, 属主属组为oldboy, 但是oldboy用户无法操作管理此文件?


    数据读取原来过程
    1. 当目录只有读权限时, 属主用户查看信息为什么只能看见文件名称, 不能看见文件属性信息?
      说明:
      1) 目录只有读权限, 只能利用读权限查看目录block信息
      2) 目录需要有执行权限, 才能进入到目录中, 查看文件的inode获得属性信息
      提示: inode block
      inode作用: 查看数据内容索引信息
      存储: 文件属性信息/block指针信息
      block作用: 真正存储数据内容信息
      普通文件: inode 文件属性 指针信息
      block 真正文件内容
      目录文件: inode 目录属性 指针信息
      block 目录下面数据名称
    2) 一个文件权限为777, 属主属组为oldboy, 但是oldboy用户无法操作管理此文件?
       提示: 利用inode block, 理解系统数据文件读写原理  权限说明 
       说明: 对文件信息进行读写操作, 和文件本身权限有关/和文件所在目录路径权限也有关系
    

    系统数据默认权限
    文件默认权限: 644(root)
    目录默认权限: 755(root)

    如何修改默认权限:
    umask: 0022
    umask是奇数信息
    文件默认权限: 666 - umask(033) = 63(+1)3(+1) == 644   文件做奇数运算位, 做完运算还需要在加1
    目录默认权限: 777 - umask(033) = 744
    umask是偶数信息
    文件默认权限: 666 - umask(022) = 644
    目录默认权限: 777 - umask(022) = 755
    
    临时修改: 
    文件默认权限: 需求 600 666 - umask(066) = 600
                  需求 611 666 - umask(055) = 61(+1)1(+1) = 622
    目录默认权限: 需求 700 777 - umask(077) = 700
    
    永久修改:
    vim /etc/profile
    if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
        umask 002
    else
        umask 022
    fi
    
    解释01: 脚本判断语句信息
    a 单分支判断语句:  if 条件 then 操作 fi
    b 双分支判断语句:  if 条件 then 方案一操作 else 方案二操作 fi
       
    解释02: 判断条件信息意思
    a 条件判断有单一条件和多条件判断(并且关系 或者关系)    
    b 每个条件表达的意思
      $UID -gt 199   : 判断当前用户UID数值是否大于199
      "`/usr/bin/id -gn`" = "`/usr/bin/id -un`"  : 当前登录系统用户名称和用户组名称是否一致
    
      -gt  大于什么 >
      -lt  小于什么 <
      -eq  等于什么 ==
      -ge  大于等于 
      -le  小于等于 
      -ne  不等于
    总结结论: 普通用户操作系统权限拒绝, 可以如何调整
    1) 修改文件或者目录权限 (权限位信息 chmod)
    2) 用户身份信息进行调整 (切换管理员身份 su -) 
    3) 设置普通用户提权配置 (普通用户拥有管理员部分权限 sudo)
    4) 修改文件数据特殊权限 (三位特殊权限位)
    5) 检查数据是否加锁配置 (文件数据进行加锁)
    

    系统用户提权方法
    解释说明: 让普通用户可以获得管理员部分或者全部权利 皇帝root -大宝剑(sudo)- 平民 -大宝剑(sudo)-> 贪官
    实现方式:
    第一个里程: 编写提权配置文件
    vim /etc/sudoers --- visudo (语法检查)
    100: oldgirl ALL=(ALL) cat /etc/shadow
    01 02 03
    01: 将管理员权限赋予给哪个普通用户
    02: 进行权限统一集中管理 (跳板机服务 jumpserver)
    03: 赋予普通用户权限信息
    赋予权限方法:
    a 赋予权限命令必须绝对路径信息

    第二个里程: 切换到普通用户查看自己提权信息
    [oldgirl@linux67 ~]$ sudo -l
    User oldgirl may run the following commands on linux67:
    (ALL) /usr/bin/cat /etc/shadow
    
    第三个里程: 测试提权操作是否成功
    sudo cat /etc/shadow

    相关文章

      网友评论

          本文标题:Day20操作系统权限知识

          本文链接:https://www.haomeiwen.com/subject/ohmmbctx.html