当前位置: 首页 > news >正文

不管不管,就要你的特殊对待(权限)

除rwx(读写执行)三种文件权限外,还有哪些权限呢?

一.SUID

1.是什么?

以文件所有者的身份运行程序”。主要作用于可执行文件

当一个可执行文件设置了 SUID 位时,任何用户在执行该文件时,其有效用户 ID (Effective UID) 会临时变成该文件所有者的用户 ID,而不是执行者自己的用户 ID。

2.作用:

允许普通用户以更高的权限(通常是 root 或其他特定用户)执行某些特定任务,而无需知道该用户的密码或拥有其完整权限。

位置属主权限的第三位

示例:

为什么普通用户可以修改自己的密码?

​ 原因就在于/usr/bin/passwd

[root@node ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 4月   1 2020 /usr/bin/passwd
---------------------------------------------------------------
[root@node ~]# ll /usr/bin/cd
-rwxr-xr-x. 1 root root 26 11月 25 2021 /usr/bin/cd

拥有s权限的普通用户就可以喜提root身份体验了(忍法:灵魂转移术)
屏幕截图 2025-09-20 210810
特别注意:

1.如果设置的二进制文件没有执行权限,则显示为S(大写);

2.suid仅对二进制可执行程序有效,其他文件或目录无效;

3.suid是危险分子,不建议对vim,rm等设置

二:SGID

取决于作用于文件还是目录

位置:(属组权限位第三位)有执行权限显示 s,无执行权限显示 S

1.作用于可执行文件

允许用户以特定组的身份运行程序,访问该组有权访问的资源。

作用:

任何用户在执行该文件时,其有效组 ID (Effective GID) 会临时变成该文件所属组的组 ID。

2.作用于目录(常用)

当一个目录设置了 SGID 位时,在该目录下新创建的文件或子目录,其所属组会自动继承该父目录的所属组

作用:(协作项目)

确保项目目录下的所有成员(属于同一个组)创建的文件都能被该组的其他成员访问,解决了默认情况下文件属于创建者个人组的问题。

示例:

两个用户都拥有同一附加组oi,并且共同拥有demo目录的开发权,现在需要:

互相之间能修改彼此的文件,且其他人不能查阅该目录

如何实现?

1.chgrp oi ./demo---->更改属组

2.chmod 700 ./demo---->先保证属组有可执行权限

3.chmod 2700 ./demo

三.SBIT

1.是什么?

只有文件的所有者、目录的所有者或 root 用户才能删除或重命名该目录下的文件。即使其他用户对该目录有 w (写) 和 x (执行) 权限,也不能删除不属于自己的文件。(主要作用于目录

位置属其他人权限第三位,有执行权限显示 t,无执行权限显示 T

2.有什么用?

防止用户在公共可写目录中删除或重命名其他用户的文件。例:/tmp

备注:粘滞位目录的属主以及root权限可以删除目录中的内容,其他用户无权删除

四.文件特殊属性

1.有什么用?

---->如果您有以下需求,那这玩意大大的有用了

1)文件不允许被修改,删除,移动(包括root);

2)文件仅允许追加数据,不允许被修改,删除,移动

2.怎么配置?

命令格式:chattr [+-] [选项参数] [目录](+:启动选项 -:取消选项)

选项参数:

​ a:允许追加;

​ i:不允许操作(上锁)

示例:

chattr +i /etc/passwd:不允许操作(移动/删除/修改)

---->若想取消,+变-就可

chattr +a /var/log:仅允许追加,不允许操作(移动/删除/修改)

http://www.hskmm.com/?act=detail&tid=11093

相关文章:

  • 202003_攻防世界_功夫再高也怕菜刀
  • 工业软件:重塑协同流程、降低制造成本的关键器具
  • 实用指南:【2025最新版】PCL点云处理算法汇总(C++长期更新版)
  • Gemini Proxy for Xcode 26
  • 数据类型拓展
  • 类型转换
  • 本地布署Qwen-Image全量蒸馏加速模型 - yi
  • Android常用ADB命令
  • 【2025PolarCTF秋季个人赛】WEB方向部分wp
  • 人工智能大模型 基础知识汇总
  • 2025 CCPC 江西省赛 南昌邀请赛 ABCDEGHKL
  • 小米手机刷机+root权限
  • Android Studio无线调试手表App
  • Minimind-一个开源LLM项目的代码分析1:模型结构
  • JavaDay8
  • basic - segment tree
  • 势能分析揭开一些算法的秘密
  • 企业省钱又安全的5款Linux发行版:从Ubuntu到Pop!_OS全面解析
  • how to count
  • 第六章 数组
  • basic - graph theory
  • 详细介绍:阻塞 IO为什么叫BIO,非阻塞IO为什么叫NIO,异步IO为什么叫AIO
  • Ubuntu系统使用gcc和Makefile编译C程序
  • 构造选记
  • 0133_解释器模式(Interpreter)
  • trick杂记 例题
  • 代码随想录算法训练营第四天 | leetcode 24
  • 网络流 最小割、费用流
  • DP tricks
  • 碎碎念(十七)