Linux 安全 - SUID机制

news2024/11/25 22:27:28

文章目录

  • 一、文件权限位
  • 二、SUID简介

一、文件权限位

(1)

$ ls -l text.txt 
-rw-rw-r-- 1 yl yl 0 Sep 28 16:25 text.txt

其中第一个字段-rw-rw-r–,我们可以把它分为四部分看:

-rw-rw-r--
1-     :第一个字符表示文件的类型
(2)rw-   :第 2-4 个字符表示文件所有者权限位
(3)rw-   :5-7 个字符表示所属组权限位
(4)r--	   :8 -10 个字符表示其他用户权限位

每个文件和目录都有一组权限位,用于控制对其的访问和操作权限。文件权限由九个位组成,分为三组,每组三个位,分别代表文件所有者、所属组和其他用户的权限。

这三组权限位分别是:
(1)文件所有者权限位:这组权限位控制文件所有者对文件的权限。它们的顺序是读取(r,位值为4)、写入(w,位值为2)和执行(x,位值为1)。文件所有者权限位的符号表示为:例如,rw-表示文件所有者具有读取和写入权限,但没有执行权限。

(2)所属组权限位:这组权限位控制与文件属于相同组的其他用户对文件的权限。它们的顺序和符号表示与文件所有者权限位相同。

(3)其他用户权限位:这组权限位控制所有其他用户对文件的权限,即除了文件所有者和所属组之外的用户。同样,它们的顺序和符号表示与文件所有者权限位相同。

在文件权限中,每个用户类型可以具有读取、写入和执行的权限组合。对于目录而言,读取权限允许查看目录内容,写入权限允许创建、删除和重命名目录中的文件,执行权限允许进入目录并访问其内容。

(2)
特殊权限:权限格式中可以存在三个特殊权限字符:
“s”(setuid、setgid):当出现在所有者或所属组的执行权限中时,表示设置了 setuid 或 setgid 权限。如果相应的读取或写入权限未设置,则用 “S” 表示。
“t”(粘着位):当出现在目录的其他用户执行权限中时,表示粘着位。通常用于限制只有文件所有者能删除目录中的文件。

当文件设置了SUID权限时,文件的权限位会显示为包含"S"的特殊形式。具体来说,文件所有者权限位中的执行权限位 “x” 将被替换为 “s”。这表示当执行该文件时,它将以文件所有者的权限运行。

以下是SUID权限位的不同组合及其含义:
-rwS------:文件所有者具有读写权限,并且设置了SUID权限。其他用户没有任何权限。
-rwSr-xr-x:文件所有者具有读写权限,并且设置了SUID权限。所属组和其他用户具有读取和执行权限。
-rwsr-xr-x:文件所有者具有读写执行权限,并且设置了SUID权限。所属组和其他用户具有读取和执行权限。

要设置SUID权限,可以使用chmod命令与数字或符号表示法。例如,chmod 4755 file将文件的权限设置为-rwsr-xr-x,其中SUID权限被设置为文件所有者的执行权限。

二、SUID简介

在Linux中,SUID(Set User ID)是一种权限机制,用于赋予程序在执行时临时获取文件所有者的权限。当一个可执行文件具有SUID权限时,无论是哪个用户执行该文件,该程序都会以文件所有者的权限运行,而不是执行者自身的权限。

SUID机制允许普通用户执行特定的程序或命令,以便执行特权操作,例如修改系统配置或访问受限资源。一个典型的例子是/usr/bin/passwd命令,它具有SUID权限,因此普通用户可以在不具备修改密码文件权限的情况下,通过执行该命令来更改自己的密码。

类似的还有 sudo、su命令等,比如在普通用户下执行sudo就可以执行root权限可以执行的操作。
在这里插入图片描述
SUID权限位:SUID由文件权限位中用户部分的"s"表示。如果一个文件被设置了SUID位,会表现在所有者(文件的属主)的权限的可执行位上(x)。

所有者的权限的可执行位(x)上定义了一个补充的s位,如果文件设置了SUID,那么它在执行的时候,会把进程的权限(euid)设置成文件属主的uid。
当设置了SUID时,还需要所有者的执行权限。当s这个标志出现在文件所有者的x权限上时,则就被称为Set UID。

可以使用chmod命令的数字符号(“4”)或符号符号(“u+s”)来设置SUID位。

执行上下文:当用户执行一个启用了SUID的程序时,该程序以文件所有者的有效用户ID(EUID)运行。这暂时提升了运行程序的用户的权限级别到文件所有者的级别。

SUID权限仅对二进制程序(binary program)有效,不能用在脚本上(script)。

这个SUID机制就是专门为提升/切换用户权限而设计的,切换用户也必须先提升到root用户才能切换到其他用户。在这类文件被执行后,不需要验证密码,进程的euid被设置成文件属主的uid,如果文件属主是root用户当前进程就有了root权限,同时这时进程的uid和euid也不相等了。

因此当我们以普通用户在终端上执行 passwd,sudo 等命令时,比如普通用户的uid是1000,那么终端上的bash进程是普通用户的uid1000,当执行 passwd,sudo 等命令时, passwd,sudo 等二进制文件设置了SUID位,这么bash进程的euid以文件所有者的有效用户ID(EUID)运行,而 passwd,sudo 等二进制文件是由root用户管理的,其文件属主的用户名是 root 用户,因此passwd,sudo 等二进制文件的 EUID 等于 root 用户的uid = 0,因此bash进程的euid以文件所有者的有效用户ID = 0运行,这暂时提升了bash程序的用户的权限级别到文件所有者的级别。这样就达到了提升用户权限的作用了。

在这里插入图片描述
除了以用户和用户组控制权限,还有以下凭证机制:

Capabilities
Secure management flags (securebits)
Keys and keyrings
LSM
AF_KEY

详细请参考:Linux 安全 - Credentials

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1048409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pygame中监控鼠标动作的方法

在Pygame中监控键盘按键的方法_pygame获取键盘输入-CSDN博客中提到,通过在while True循环中获取队列中事件的方法监控键盘动作。监控鼠标动作的方法与监控键盘动作的方法相同。 相关连接1 队列与事件的相关知识,请参考 Pygame中监控键盘按键的方法_pyg…

从技能需求到就业前景,了解前端和后端开发的优缺点和个人选择

文章目录 每日一句正能量一、引言前端开发后端开发 二、两者的对比分析三、技能转换和跨领域工作四:介绍全栈开发后记 每日一句正能量 命运决定的不是你的人生,能决定你人生的只有自己。 一、引言 前端和后端是Web开发中两个不可或缺的领域。前端开发主…

No131.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

vulnhub靶机-DC系列-DC-3

文章目录 信息收集漏洞查找漏洞利用SQL注入John工具密码爆破反弹shell 提权 信息收集 主机扫描 arp-scan -l可以用netdiscover 它是一个主动/被动的ARP 侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。 netdiscover -r 192.1…

Linux或Centos查看CPU和内存占用情况_top只能查看对应的命令_如何查看具体进程---linux工作笔记062

一般我们都是用top去查看,但是top查看的结果,不能看出,具体是哪个程序占用的,这就很苦恼.. 其实如果有时间的话,再去专门看一下网络安全和linux脚本以及命令方面的,比较系统的看一下比较好.现在积累的都是工作中用到的,比较零散的知识. 如果用top,比如说这里的java,就只能知道…

云服务器租用价格表概览_阿里云腾讯云华为云

云服务器租用价格多少钱一年?阿腾云分享阿里云、腾讯云和华为云的云服务器租用价格表:阿里云2核2G服务器108元一年起、腾讯云2核2G3M带宽轻量服务器95元一年、华为云2核2G3M云耀L实例89元一年起,阿腾云分享更多关于云服务器租用价格明细&…

eNSP网络学习-v05

IP容量 ip地址一共是32位,/24就表示他的网络号是24位。 也就是说共有 2^(32-24)-2 个主机(因为主机为全0和1的保留不用,所以需要减2),共254个ip。 /24:2的8次方-2 :254 …

安达发|APS生产排程软件给化工行业带来的价值

化工行业是一个涵盖了广泛的领域,包括石油化工、有机化工、无机化工、精细化工、生物化工等。 化工行业是指以化学工艺为基础,通过化学反应制取化学品的工业。根据生产工艺和产品性质,化工行业可以分为以下几类: 1. 石油化工&…

Hash Index 原理和应用精讲

线上沙龙 - 技术流第 35 期回放来啦 本期直播我们邀请到 KaiwuDB 高级研发工程师徐胜康,为大家分享 Hash Index 原理和应用。徐老师曾任职于 Sun Micro Systems, Lucent 等公司,具备多年 Linux/UNIX Operating System 内核、驱动、文件系统、数据库、研…

十八,镜面IBL-打印预过滤环境贴图

前面打印了各个级别的hdr环境贴图&#xff0c;也能看到预过滤环境贴图&#xff0c;现在进行打印各个级别的预过滤环境贴图。 运行结果如下 代码如下&#xff1a; #include <osg/TextureCubeMap> #include <osg/TexGen> #include <osg/TexEnvCombine> #…

智慧工地管理系统源码(电脑端+手机端+APP+SAAS云平台)

智慧工地是指通过一系列先进的技术手段&#xff0c;实现施工现场的智能化管理&#xff0c;其核心是利用物联网技术&#xff0c;将施工现场的各种设备、机械、材料、人员等进行全面实时地监测和控制&#xff0c;以实现资源的最优配置和高效利用。 一、概述 智慧工地管理系统&am…

Linux虚拟机无法联网

问题描述 Centos7&#xff0c;配置了静态IP后&#xff0c;无法联网 解决方式 虚拟机连接不上网络&#xff0c;解决办法_虚拟机连不上网络-CSDN博客 根据上面文章一步步做。 发现 在Windows的cmd中&#xff0c;可以ping通我的Linux虚拟机 但是&#xff0c;在虚拟机里 无法 …

第九章 动态规划 part12 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续费

第五十一天| 第九章 动态规划 part12 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续费 一、309. 最佳买卖股票时机含冷冻期 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/ 题目介绍&#xff1a; 给定一…

layui 树状控件tree优化

先上效果图&#xff1a; 我选的组件是这个&#xff1a; 动态渲染完后&#xff0c;分别在窗体加载完成&#xff0c;节点点击事件分别加入js&#xff1a; //侧边栏图标替换//layui-icon-subtraction$(function () {$(".layui-icon-file").addClass("backs&quo…

【广州华锐互动】鱼类授精繁殖VR虚拟仿真实训系统

随着科技的不断发展&#xff0c;虚拟现实技术在各个领域的应用越来越广泛。在养殖业中&#xff0c;VR技术可以帮助养殖户进行家鱼授精实操演练&#xff0c;提高养殖效率和繁殖成功率。本文将介绍利用VR开展家鱼授精实操演练的方法和应用。 首先&#xff0c;我们需要了解家鱼授精…

QT基础入门——认识与创建QT(一)

前言&#xff1a; 前面学了Linux的基础命令、系统编程、网络编程&#xff0c;对LInux的使用也有了一个简单的了解与认识&#xff0c;之后的学习就要用到 imx6ull_pro这款开发板进行学习了&#xff0c;所以在使用前还是决定把QT的基础知识学习一下&#xff0c;好在后面的linu…

GeoPandas 基本使用

1.GeoPandas是什么 geopandas是一个开源项目&#xff0c;它的目的是使得在Python下更方便的处理地理空间数据。geopandas扩展了pandas的数据类型&#xff0c;允许其在几何类型上进行空间操作。geopandas主要结合了pandas和shapely框架的能力。 shapely 有一个名为 geometry 的类…

【DTEmpower案例操作教程】智能数据挖掘

DTEmpower是由天洑软件自主研发的一款通用的智能数据建模软件&#xff0c;致力于帮助工程师及工科专业学生&#xff0c;利用工业领域中的仿真、试验、测量等各类数据进行挖掘分析&#xff0c;建立高质量的数据模型&#xff0c;实现快速设计评估、实时仿真预测、系统参数预警、设…

m4a怎么转换mp3?4个方法包教包会

m4a怎么转换mp3&#xff1f;M4A是一种备受欢迎的音频文件格式&#xff0c;通常用于存储高保真音频数据。它代表着“MPEG-4 Audio”扩展名&#xff0c;这意味着它属于基于MPEG-4标准的音频格式之一。M4A格式有着众多的优势。首先&#xff0c;它能够提供出色的音质&#xff0c;并…

html、css学习记录【uniapp前奏】

Html 声明&#xff1a;该学习笔记源于菜鸟自学网站&#xff0c;特此记录笔记。很多示例源于此官网&#xff0c;若有侵权请联系删除。 文章目录 Html声明&#xff1a; CSS 全称 Cascading Style Sheets&#xff0c;层叠样式表。是一种用来为结构化文档&#xff08;如 HTML 文档…