Linux特殊权限解析:SUID、SGID和Sticky Bit

news/2024/4/27 0:59:27/文章来源:https://blog.csdn.net/qq_21438461/article/details/131021640

第一章:Linux特殊权限的基本概念

在Linux操作系统中,除了常见的读(r)、写(w)和执行(x)权限外,还有两种特殊的权限:Set User ID(SUID)和Set Group ID(SGID),以及一个针对目录的特殊权限:Sticky Bit(SBIT)。这些特殊权限为文件和目录的访问提供了更细致的控制。

1.1 Set User ID(SUID)

SUID权限是一种特殊的文件权限。当一个文件被赋予了SUID权限,其他用户在执行这个文件时,其权限会暂时提升到该文件所有者的权限。这在某些需要高级权限才能执行的操作中非常有用。例如,passwd命令就需要SUID权限,因为它需要修改系统的密码文件,这通常需要root权限。

1.2 Set Group ID(SGID)

SGID权限与SUID类似,但它影响的是文件的组权限而不是所有者权限。当一个文件被赋予了SGID权限,其他用户在执行这个文件时,其权限会暂时提升到该文件所属组的权限。

1.3 Sticky Bit(SBIT)

Sticky Bit是一种特殊的目录权限。当一个目录被赋予了Sticky Bit权限,用户只能删除自己拥有的文件,即使他们对这个目录有写和执行权限。这个权限通常用在临时文件目录(如/tmp),以防止用户删除其他用户的文件。


第二章:深入理解和使用SUID、SGID和Sticky Bit

在第一章中,我们介绍了Linux中的特殊权限SUID、SGID和Sticky Bit的基本概念。在这一章中,我们将更深入地探讨这些特殊权限,包括如何设置和修改这些权限,以及它们在实际使用中的一些常见场景。

2.1 设置和修改SUID和SGID权限

在Linux中,我们可以使用chmod命令来设置和修改文件或目录的权限,包括SUID和SGID。SUID和SGID权限可以通过在chmod命令中使用4(SUID)和2(SGID)来设置。例如,如果我们想要给一个文件设置SUID权限,我们可以使用命令chmod 4755 filename。这将给文件所有者设置SUID权限,同时给所有者、组和其他用户设置读、写和执行权限。

2.2 SUID和SGID的实际应用

SUID和SGID权限在需要临时提升权限的场景中非常有用。例如,passwd命令就需要SUID权限,因为它需要修改系统的密码文件,这通常需要root权限。当一个普通用户执行passwd命令时,由于SUID权限的存在,他们可以暂时获得root权限,从而成功修改密码。

2.3 设置和修改Sticky Bit权限

Sticky Bit权限可以通过在chmod命令中使用1来设置。例如,如果我们想要给一个目录设置Sticky Bit权限,我们可以使用命令chmod 1755 dirname。这将给目录设置Sticky Bit权限,同时给所有者、组和其他用户设置读、写和执行权限。

2.4 Sticky Bit的实际应用

Sticky Bit权限通常用在临时文件目录(如/tmp),以防止用户删除其他用户的文件。当一个目录被赋予了Sticky Bit权限,用户只能删除自己拥有的文件,即使他们对这个目录有写和执行权限。


第三章:Linux特殊权限的实践应用

在前两章中,我们介绍了Linux特殊权限SUID、SGID和Sticky Bit的基本概念和设置方法。在这一章中,我们将通过实际的例子来演示如何在Linux中使用这些特殊权限。

3.1 SUID权限的实践应用

让我们以passwd命令为例来看看SUID权限是如何工作的。passwd命令用于修改用户的密码,它需要访问系统的密码文件/etc/shadow,这通常需要root权限。然而,普通用户需要能够修改自己的密码,这就需要SUID权限。

如果你查看passwd命令的权限,你会看到它被设置了SUID权限:

-rwsr-xr-x 1 root root 47032 Jan 26  2017 /usr/bin/passwd

当普通用户执行passwd命令时,由于SUID权限的存在,他们可以暂时获得root权限,从而成功修改密码。

3.2 SGID权限的实践应用

SGID权限通常用在需要共享文件的场景。例如,如果一个团队的成员需要共享一个目录,并且他们需要能够读写这个目录中的文件,那么这个目录就可以设置SGID权限。

当一个目录设置了SGID权限,所有在这个目录下创建的新文件都会继承这个目录的组,而不是创建文件的用户的主组。这样,团队的所有成员都可以访问和修改这些文件。

3.3 Sticky Bit权限的实践应用

Sticky Bit权限通常用在临时文件目录,如/tmp。在这个目录中,所有用户都可以创建文件,但是用户只能删除自己的文件,不能删除其他用户的文件。

如果你查看/tmp目录的权限,你会看到它被设置了Sticky Bit权限:

drwxrwxrwt  23 root root 4096 Feb  1 16:34 /tmp

这就是Linux特殊权限的实践应用。通过理解和正确使用这些特殊权限,我们可以更好地管理Linux系统,保护系统的安全,提高工作效率。


第四章:总结和展望

在本文中,我们深入探讨了Linux中的特殊权限SUID、SGID和Sticky Bit。我们了解了这些特殊权限的基本概念,学习了如何设置和修改这些权限,以及它们在实际使用中的一些常见场景。

SUID和SGID权限为我们提供了一种方法,使得普通用户在执行某些需要高级权限的操作时,可以暂时提升他们的权限。而Sticky Bit权限则帮助我们保护共享目录,防止用户删除其他用户的文件。

然而,这些特殊权限也带来了一些安全风险。例如,如果一个用户可以通过SUID权限获得root权限,他可能会滥用这个权限,对系统造成破坏。因此,我们在使用这些特殊权限时,必须谨慎行事,确保我们的系统安全。

在未来,我们将继续探索Linux的其他特性和功能,以帮助我们更好地理解和使用这个强大的操作系统。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Javascript的闭包,匿名函数,自动调用

这里写目录标题 验证文本框HTMLJavascript分析var引起的赋值错误最优的解决方案forEach(function(item){})最简单的方式,const/let 申明一个局部变量直接使用函数通过声明函数变量的方式定义函数申明匿名函数和自动调用函数的区别 在案例的基础上分析。 验证文本框 …

90后测试员:“入职阿里,这一次,我决定不跳槽了...”

所谓“舒适”生活 记得上一份工作是去年听从了朋友的意见,“你一定要找一份舒适的工作,这样你一天就有好多时间玩,好多时间干自己想干的事情,摸鱼真香!” 在这份“教导”下,开始了我的找工作之旅&#xf…

内网穿透技术

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 转载自内…

【正点原子STM32连载】 第二十五章 TFT-LCD(MCU屏)实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第二十…

没有硬件资源?免费使用Colab搭建你自己的Stable Diffiusion在线模型!保姆级教程...

部署 Stable Diffusion 需要一定的硬件资源,具体取决于要处理的图像大小和处理速度等因素。一般来说,至少需要一台具有较高计算能力的服务器,而对 GPU 的高要求就限制了我们学习和使用SD来生成我们想要的图像。 GPU是深度学习开发的重要硬件条…

chatgpt赋能python:Python列表分割与排序:完美解决数据处理问题

Python列表分割与排序:完美解决数据处理问题 在Python的开发实践中,数据处理是一项必不可少的操作。列表(list)是Python语言中常用的数据类型之一,列表中的元素可以是任意类型。列表的分割和排序是Python中常见的操作…

数字孪生:数字世界与现实世界的交汇

数字孪生是一种崭新的技术,指将现实世界中的物理实体、系统或过程通过数字化技术在虚拟数字世界中建立起虚拟模型。数字孪生可以帮助人们以更小的成本地理解和预测现实世界中的物理实体、系统或过程的行为和性能,从而提高生产效率、降低成本、减少风险等。 如今数字孪生技术…

【CSS3系列】第三章 · CSS3新增边框和文本属性

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

【Python 文本分析】零基础也能轻松掌握的学习路线与参考资料

Python 常用的文本分析工具有很多,如 Natural Language Toolkit (NLTK)、TextBlob、spaCy、Jieba等。本文将分别介绍这些工具及其对应的学习路线、参考资料和优秀实践。 Natural Language Toolkit (NLTK) Natural Language Toolkit (NLTK) 是 Python 中文本分析研…

如何申请免费ChatGPT 2500刀初创金

近日OpenAI 推出了OpenAI for Startups项目,那么什么是Startups项目呢: 它是由全球知名的人工智能研究公司 OpenAI 推出的一个开放式的创业计划,旨在为初创公司提供一种新的激励机制和技术推广方式。 也就是说我们可以用自己账号申请&#x…

记一次Java生成SQL脚本文件换行格式为window/unix的笔记

今天在做一个SQL脚本文件生成需求,其中,需要设置: 文件编码为:UTF-8文件换行格式为:UNIX UTF-8这个好说,因为java代码可以指定文件编码,如: 但是Unix换行格式就很神奇了&#xff0…

快手三面全过了,却因为背调时leader手机号造假,导致offer作废了!

这是一个悲伤的故事: 快手本地三面全过了,但因为背调时leader手机号造假,导致offer作废了。 楼主感叹:大家背调填写信息时,一定要慎重再慎重,不要重复他的悲剧! 网友愤慨,照这么说&a…

OSPF最优路径选择

路由比较 1、内部区域>区域间路由>NSSA1>Nssa2 2、如果只有Ex1、Ex2或者Nssa1、nNssa2开销类型。则Ex1>Ex2或者Nssa1>Nssa2 3、如果Ex1、Nssa1,Ex2和Nssa2,Ex1和Nssa1优于Ex2和Nssa2 4、如果外部开销加上内部开销,Ex1和Nssa1一样,则Ex1和Nssa1相同负载分担 5、如果外…

京东工作8年,肝到T8就剩这份心得了,已助朋友拿到10个Offer

在京东工作了8年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到T7也费了不少心思,小编也是个爱学习的人,把这几年的工作经验整理成了一份完整的笔记…

【TreeSet集合】比较器排序Comparator的使用

比较器排序Comparator的使用 存储学生对象并遍历,创建TreeSet集合使用带参构造方法 要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序 创建学生类: package com.gather.set.treeset; public class Stude…

C语言——分段函数求值

一、题目描述 二、题目分析 本题是简单的分段函数的求解&#xff0c;应学会合理的运用for\if\swich函数解答问题。 三、代码实现 //for语句解题#include <stdio.h> int main() {int x,y;scanf("%d",&x);if(x<1){yx;}else if(1<x && x<…

win10微软Edge浏览器通过WeTab新标签页免费无限制使用ChatGPT的方法,操作简单,使用方便

目录 一、使用效果 二、注册使用教程 1.打开Edge浏览器扩展 2.选择Edge浏览器外接程序 3.搜索WeTab 4.进入管理扩展 5.启用扩展 ​编辑 6.进入WeTab新标签页 7.打开Chat AI 8.注册 9.使用 ChatGPT是OpenAI推出的人工智能语言模型&#xff0c;能够通过理解和学习人类…

不要再重复造轮子了,这几款开源工具类库贼好使

在实际项目开发中&#xff0c;从稳定性和效率的角度考虑&#xff0c;重复造轮子是不被提倡的。但是&#xff0c;自己在学习过程中造轮子绝对是对自己百利而无一害的&#xff0c;造轮子是一种特别能够提高自己系统编程能力的手段。 基于 SpringBoot Vue uni-app 实现的全套电商…

Vue3(二):Vue3生命周期、自定义hook、其他API、Suspense等组件

Vue3&#xff1a;第二章 一、Vue3生命周期二、自定义hook函数三、toRef四、其他Composition API1.shallowRef与shallowReactive2.readonly与shallowReadonly3.toRaw 与 markRaw&#xff0c;customRef4.provide和inject5.响应式数据的判断 五、组合式API的优势1.选项式API的问题…

预训练大语言模型的三种微调技术总结:fine-tuning、parameter-efficient fine-tuning和prompt-tuning

预训练大模型&#xff0c;尤其是大语言模型已经是当前最火热的AI技术。2018年Google发布BERT模型&#xff08;BERT在DataLearner官方模型卡信息&#xff1a;https://www.datalearner.com/ai-models/pretrained-models/BERT &#xff09;的时候&#xff0c;大家还没有意识到本轮…