Linux-特殊权限SUID,SGID,SBIT

SUID

Set UID:当字母s出现在文件拥有这的x权限位上的时候,例如/usr/bin/passwd这个文件的权限是-rwsr-xr-x,此时就被称为Set UID,简称为SUID的特殊权限。SUID的权限有以下这样的功能和限制。

  • SUID权限仅对二进制程序(binary program)文件有效;
  • 执行者对于该程序具有x的可执行权限;
  • 本权限仅在执行该程序的过程中有效(run-time);
  • 执行者将具有该程序拥有者(owner)的权限。

需要注意的是,SUID是不能用在shell script上面的,也不能用在目录上面,都是无效的。

SGID

Set GID:当s标志位在文件群组的x位上的时候,被称为Set GID,简称为SGID的特殊权限。与SUID不同的是,SGID既可以对二进制程序设置,也可以对目录进行设置特殊权限。

对文件来说,SGID有以下这些功能:

  • SGID对二进制程序有用;
  • 程序执行者对程序来说具备x权限;
  • 执行者在执行的过程中将会获得该程序的群组支持。

当目录设置了SGID权限的时候,具有以下功能:

  • 用户若对于此目录具有r和x权限,用户能够进入此目录;
  • 用户在此目录下的有效群组将会变成该目录的群组;
  • 若用户在此目录下具有w权限,则使用者也可以在此目录新建文件,而且新文件的群组与此目录的群组相同。

SBIT

Sticky Bit:目前只针对目录有效,对于文件已经没有效果了。SBIT对目录的作用是下面这些

  • 当用户对此目录具有w和x权限时,使用者同样具有;
  • 当用户在此目录创建文件时,只有自己和root有权限删除该文件。

如何配置文件使具有SUID和SGID权限呢,数字权限修改方法的三位数字之前添加上对应的数字就好了。

  • 4为SUID
  • 2为SGID
  • 1为SBIT
bash 复制代码
# 例如讲一个原本755权限的文件添加SUID权限,执行如下命令
chmod 4755 /test.sh
# 添加SGID权限的命令如下
chmod 2755 /test.sh
chmod 2755 /test
# 给一个目录添加一个SBIT权限
chmod 1755 /test
相关推荐
CodeYp20191 分钟前
第19讲:自旋锁
linux·自旋锁
此生决int10 分钟前
Linux系列(08)——进程控制
linux·运维·驱动开发
BioTender24 分钟前
Xaira 发布 X-Automate:将物理 AI 与智能体 AI 引入实验室自动化
运维·人工智能·自动化
Percep_gan1 小时前
Linux中安装gitea,很详细
linux·elasticsearch·gitea
Z21-X2 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla10 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
Decay__10 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
天远API14 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮15 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
程序员初一15 小时前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh