• LInux系统特殊权限


    一 简单比较3个特殊权限

    setuidsetgidsticky
    符号表示u+sg+so+t
    数值表示setuid=4setgid=2sticky=1
    文件有x权限表示为s表示为s表示为t
    文件没有x权限表示为S表示为S表示为T

    下面将分别叫做SUID、SGID、STICKY

    二 SUID权限

    2-1 举例说明

    在这里用/etc/shadow文件为例说明。

    [root@canway01 ~]# ll /etc/shadow
    ----------. 1 root root 1270 118 18:26 /etc/shadow
    
    • 1
    • 2

    如上图,我们不难发现,/etc/shadow文件对于除了root外的任何用户都是不能读写执行的。

    一个普通用户只能对自己作为属主的文件进行r读取、w写入、x执行的操作。

    普通用户修改自己的密码过程如下:

    普通用户的信息保存在/etc/passwd中,而密码在/etc/shadow中;修改密码时,用到了passwd命令,该命令的所有者是root,具有超级管理员权限;而这个命令(Linux中一切皆文件嘛)也具有SUID权限;所以普通用户在修改自己的密码时,利用passwd命令的SUID权限,借助root用户的权限,进行用户信息和密码的修改。

    2-2 简单总结

    如果用一句话来说明SUID的作用:对于可执行文件(二进制文件),将会以文件所有者(属主)的权限去执行命令,而不是以当前使用者用户的权限去执行命令。—”借用皇帝的尚方宝剑“。

    2-3 作用对象

    只对文件有影响,对目录没有影响

    三 SGID权限

    3-1 简单总结

    总体原理类似于SUID。

    将目录设置为SGID后,如果在该目录下创建文件,都将与该目录的所属组保持一致。

    3-2 作用对象

    对文件和目录都有影响

    STICKY权限(粘滞位)

    4-1 简单总结

    普通用户对目录有w权限:
    如果没有粘滞位,那么它可以删除目录下的所有文件,包括其他用户建立的文件
    如果有粘滞位,那么它只能删除该目录下自己建立的文件

    无论有没有粘滞位,root用户依旧至高无上,可以任意而行

    4-2 作用对象

    只对目录有影响

    五 锁定文件命令chattr

    这个命令只有root用户可以使用,作用是修改文件的权限属性

    一般当我们不想让别的用户移动或更改文件目录时,使用命令即可锁定文件。

    [root@canway01 ~]# chattr +i a.txt 
    [root@canway01 ~]# ll
    总用量 8
    -rw-------. 1 root root 1531 114 17:34 anaconda-ks.cfg
    -rw-r--r--. 1 root root    0 118 19:30 a.txt
    -rw-r--r--. 1 root root 1579 114 17:37 initial-setup-ks.cfg
    [root@canway01 ~]# echo 123 > a.txt 
    -bash: a.txt: 权限不够
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    由上图可知,锁定文件后,即使是root用户也无法修改文件。

    [root@canway01 ~]# lsattr a.txt 
    ----i----------- a.txt
    
    • 1
    • 2

    通过lsattr即可查看文件的锁定情况

    如果想解锁文件,可以直接用-,类似于普通文件的权限增减。

    [root@canway01 ~]# chattr -i a.txt 
    [root@canway01 ~]# lsattr a.txt 
    ---------------- a.txt
    
    • 1
    • 2
    • 3
  • 相关阅读:
    云计算的未来:云原生架构和自动化运维的崭露头角
    kafka常用命令总结
    μC/OS-II---内存管理2(os_core.c)
    Arduino 拓展班DMP280的代码问题
    「Verilog学习笔记」使用子模块实现三输入数的大小比较
    fcitx5 中文输入在 chrome/vscode 等应用中的问题及解决
    python中使用matplotlib绘图
    剑指:二叉树有关题目
    GitModel 假设检验下|Task02多元数值向量的假设检验
    Web3 整理React项目 导入Web3 并获取区块链信息
  • 原文地址:https://blog.csdn.net/oldboy1999/article/details/127756195