深入理解linux的权限设置和SUID,SGID,粘滞

操作系统权限提升(十九)之Linux提权-SUID提权 SUID是一种特殊权限,设置了suid的程序文件,在用户执行该程序时,用户的权限是该程序文件属主的权限,例如程序文件的属主是root,那么执行该程序的用户就将暂时获得root账户的权限。sgid与suid类似,只是执行程序时获得的是文件属组的权限。passwd这个命令程序的权限设置,它就是设置了suid权限的只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义.命令执行者要对该程序文件拥有执行(x)权限.命令执行者在执行该程序时获得该程序文件属主的身份. 阅读详情

深入理解linux的权限设置和SUID,SGID以及粘滞位

本文摘自:http://hi.baidu.com/%B5%DA%C8%FD%B4%FA%B9%BA%CE%EF/blog/item/647c6b8bbe33af17c8fc7af2.html

我们知道文件的权限可以用三个八进制数字表示。其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了。那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限。这个八进制数字的三个位是:

     SUID SGID sticky-bit

     它们的含义是:

SUID

当设置了

SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。如果所有者是 root 的话,那么执行人就有超级用户的特权了。这时该位将变成一个安全漏洞,因此不要轻易设置该位。

SGID

与上面的内容类似。文件运行时,运行者将具有所属组的特权。

sticky-bit

sticky 位要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映象。这样做是为了节省大型程序的启动时间。但是会占用系统资源。因此设置该位,不如把程序写好。

set uid ;set gid;sticky bit区别

每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文件具有的权限:写和执行.

setuid: 在执行时具有文件所有者的权限.
setgid: 设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的属性.
sticky bit: 该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。


如何设置:

操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作,
1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户)
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效,g=组名)
chmod o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效)

2) 采用八进制方式. 这一组八进制数字三位的意义如下,
abc
a - setuid位, 如果该位为1, 则表示设置setuid
b - setgid位, 如果该位为1, 则表示设置setgid
c - sticky位, 如果该位为1, 则表示设置sticky

设置后, 可以用 ls -l 来查看. 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)
如:

rwsrw-r-- 表示有setuid标志 (rwxrw-r--:rwsrw-r--)
rwxrwsrw- 表示有setgid标志 (rwxrwxrw-:rwxrwsrw-)
rwxrw-rwt 表示有sticky标志 (rwxrw-rwx:rwxrw-rwt)

理解文件权限

所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户和组联系起来。请看下面的例子:

     drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop

     与文件权限相关联的是第一、第三、第四个域。第三个域是文件的所有者,第四个域是文件的所属组,而第一个域则限制了文件的访问权限。在这个例子中,文件的所有者是 root,所属的组是 root,文件的访问权限是 drwxr-xr-x。对于文件和目录讲,每个文件和目录都有一组权限标志和它们结合在一起,在上例中就是第一个域中的内容。下面来仔细分析这个域中各个符号的意义:

     该域由 10 个字符组成,可以把它们分为四组,具体含义分别是:

     d rwx r-x r-x

     文件类型 所有者权限标志 组权限标志 其他用户权限标志

     其中:

     文件类型:第一个字符。由于 Linux 系统对与设备、目录、文件都当作是文件来处理,因此该字符表明此文件的类型,字符与对应的意义如下表:

文件标志

文件类型

例子

-

普通文件

数据文件、

ASCII 纯文本文件、程序

d

目录

/bin

b

块设备

/dev/hda(第一个 IDE 硬盘)

c

字符设备

/dev/ttyS1(与 DOS 种的串口 2 等同)

s

套接字

/dev/log

p

命名管道

/dev/initctl(与“|”等同)

l

符号链接

/dev/modem->/dev/ttyS1

     权限标志:

     对每个文件或目录都有 4 类不同的用户。每类用户各有一组读、写和执行(搜索)文件的访问权限,这 4 类用户是:

     root:系统特权用户类,既 UID = 0 的用户。

     owner:拥有文件的用户。

     group:共享文件的组访问权限的用户类的用户组名称。

     world:不属于上面 3 类的所有其他用户。

     作为 root,他们自动拥有了所有文件和目录的全面的读、写和搜索的权限,所以没有必要明确指定他们的权限。其他三类用户则可以在耽搁文件或者目录的基础上别授权或撤消权限。因此对另外三类用户,一共 9 个权限位与之对应,分为 3 组,每组 3 个,分别用 r、w、x 来表示,分别对应 owner、group、world。

     权限位对于文件和目录的含义有些许不同。每组 3 个字符对应的含义从左至右的顺序,对于文件来说是:读文件的内容(r)、写数据到文件(w)、做为命令执行该文件(x)。对于目录来说是:读包含在目录中的文件名称(r)、写信息到目录中去(增加和删除索引点的连接)、搜索目录(能用该目录名称作为路径名去访问它所包含的文件或子目录)。具体来说就是:

         1. 有只读权限的用户不能用 cd 进入该目录;还必须有执行权限才能进入。

         2. 有执行权限的用户只有在知道文件名并拥有该文件的读权限的情况下才可以访问目录下的文件。

         3. 必须有读和执行权限才可以使用 ls 列出目录清单,或使用 cd 进入目录。

         4. 如用户有目录的写权限,则可以创建、删除或修改目录下的任何文件或子目录,既是该文件或子目录属于其他用户。

修改文件权限

     首先讲修改文件的所有权,使用 chown 和 chgrp 命令:

     chown new_user file or directory:修改文件或目录的所有者。

     chgrp new_group file or directory:修改文件或目录的所属组。

     这里需要注意的是:普通用户不能将文件或目录的所有权交与他人,只有 root 有这一权限。但是普通用户有权改变文件或目录的所属组。

     由于每类用户的权限都是由 rwx 三位组成,因此可以用三个八进制数字表示文件的访问权。一个八进制数字可以用三个二进制数字表示,那么与其对应,权值为 4 的位对应 r,权值为 2 的位对应 w,权值为 1 的位对应 x。对于一类用户,将这三位与其对应的权值相乘求和,就可以得出对该类用户的访问权限。

     改变文件访问权限的命令是 chmod,格式是:

     chmod permission file_name

     比如 chmod 764 a.txt,它表示对于文件的所有者,具有对该文件读、写、执行的权限。对于文件所属组的用户,拥有读、写的权限。对于其他用户,只有读权限。

     这里需要注意的是:文件的创建者是唯一可以修改该文件访问权限的普通用户,另外一个可以修改文件访问权限的用户是 root。

     还有一种表示方法,就是用字符串来设定文件访问权限。其中读用 r 表示,写用 w 表示,执行用 x 表示;所有者用 u 表示,组用户用 g 表示,其他用户用 o 表示,所有用户用 a 表示。那么上面例子就写成西面的模样:

chmod a+r,u+w,u+x,g+w a.txt

理解 SUID 和 SGID

    在上面的章节中,我们知道了文件的权限可以用三个八进制数字表示。其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了。那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限。这个八进制数字的三个位是:

     SUID SGID sticky-bit

     它们的含义是:

SUID

当设置了

SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。如果所有者是 root 的话,那么执行人就有超级用户的特权了。这时该位将变成一个安全漏洞,因此不要轻易设置该位。

SGID

与上面的内容类似。文件运行时,运行者将具有所属组的特权。

sticky-bit

sticky 位要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映象。这样做是为了节省大型程序的启动时间。但是会占用系统资源。因此设置该位,不如把程序写好。

Linux文件权限与安全策略的深度解析 本文深入探讨了Linux系统中的特殊权限位设置,包括SUID、SGID和粘滞位的含义及其配置方法。通过实际操作案例,展示了如何使用chmod命令设置这些特殊权限,并通过实验验证了这些权限的效果。此外,文章还比较了自由裁量访问控制(DAC)与强制访问控制(MAC)之间的差异,以及SELinux安全机制如何在Linux内核中实现MAC。最后,文章探讨了SELinux的配置,包括宽容模式和强制模式,以及如何检查当前系统的SELinux状态。 阅读详情

相关推荐

Dify 深度进阶:从入门到精通AI应用构建

《Dify进阶指南:从基础到高阶的AI应用开发技巧》 本文深入探讨Dify平台的高级功能与应用开发技巧。首先强调核心概念的深化,包括提示词工程进阶、知识库高效管理和模型参数优化。重点介绍智能体应用的开发方法,如何让AI具备自主规划与执行能力。同时讲解工作流编排、前端集成等实用技术,并分享应用运营优化、成本控制等实践经验。文章还展望了Dify生态的发展趋势,为开发者提供从基础到进阶的完整学习路径,助力打造更智能高效的AI应用。

同名公众号:dify实验室 1950

linux系统suid提权

SUID提权 0x01什么是SUID ​ SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义. ​ 在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效. 通俗的来讲,假设我们现在有一个可执行文件ls,其属主为root,当我们通过非root用户登录时,如果

focus on security 6021

vivado安装空间与依赖要求:入门须知要点

准备安装Vivado时,需重点关注系统空间和依赖环境的配置。结合vivado安装教程,详细说明最低磁盘要求、内存配置及操作系统兼容性,帮助新手快速搭建开发环境,避免常见安装失败问题。

weixin_34725745的博客 1572

Linux文件的特殊权限(SUID|SGID|SBIT)

SUID是一种对二进制程序进行设置的特殊权限,能够让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效)。

qq_70756940的博客 3301

拉普拉斯矩阵

1、预备知识 拉普拉斯矩阵定义为:L=D-W。其中,D为度矩阵,W为权重矩阵。 (1)D是对角矩阵,对角线上的元素时节点的度,即所有与该节点相关联的边的权重之和;对角线以外的元素为0。有向图的对角矩阵分为 出度矩阵 和 入度矩阵。 图1.1 无向图中的度矩阵 (2)W在无向图中是对称矩阵,在有向图中是非对称矩阵。 ...

zzhe 1万+

LVDS系列11:Xilinx Ultrascale系可编程输入延迟(一)

按照IDELAYCTRL的参考时钟频率可以准确计算获取到,如200M参考时钟抽头分辨率为78ps,Ultrascale系列相对于7系列架构大改,体现便是U/U+系列的抽头增加到512个,同时每个抽头的分辨率就无法像7系列那样能得到一个准确的值,是一个波动的范围值,抽头分辨率随着工艺温度电压的变化而变化。EN_VTC:电压温度补偿开启的使用信号,COUNT模式下不能使用,必须保持为0,TIME模式下需要使用,在延迟工作时要启用温度电压补偿,在修改抽头值时需要关闭温度电压补偿,修改完后启用;

weixin_38828382的博客 1940

Linux文件特殊权限:SUID、SGID、SBIT

我们从上图中可以发现除了rwx这三个权限以外,还有s跟t这两个权限,这两个权限的意义与系统的账号和系统的进程管理较为相关。

Thewei666的博客 2972

超详细!Linux 服务器 6 大核心性能测试(附自动脚本 + 结果分析秘籍)---Linux 服务器性能测试文档

本文档旨在提供 Linux 服务器的 CPU、内存和磁盘性能测试方案,包括详细的测试大纲、操作步骤以及一键化测试脚本,帮助管理员快速评估服务器性能状况。通过以上测试方案,可以全面评估 Linux 服务器的 CPU、内存和磁盘性能,为系统优化、容量规划和问题排查提供重要参考依据。使用 sysbench 进行 CPU 基准测试。使用 sysbench 测试内存读写性能。使用 fio 工具进行更全面的磁盘测试。使用 dd 命令测试磁盘顺序读写性能。使用 dd 命令测试内存读写速度。记录磁盘 IO 性能。

jundao1997的专栏 380

Linux提权之SUID提权

linux提权,suid

weixin_51692662的博客 2411

Vue3 - Arco Design Vue 表格组件 table 隐藏鼠标移入时 hover 高亮背景色,el-table 组件去除鼠标悬停在表格行的 hover 高亮效果(改变鼠标移入时的背景色)

vue3,arcodesignvue,arcodesign,表格,a-table,hover,表格hover的class类名是什么,class,hover,在arcodesignvue项目中,表格组件如何去掉鼠标移入时的hover效果,vue3arco.design表格组件修改鼠标移入行的背景颜色,table表格,取消表格行row移入高亮效果,去掉鼠标移入行时的hover效果,取消a-table的hover状态,取消高亮显示,隐藏表格鼠标hover效果,去除鼠标触摸变色效果,如何取消arco表

🏆 前端领域优质创作者 3771

3大绝招!MySQL如何轻松搞定文本、图像和视频的多模态数据分析?

首先,让我们来了解一下“多模态”到底是什么意思。简单来说,多模态指的是能够同时处理不同类型数据(如文本、图像、音频等)的能力。传统的数据库往往只能专注于一种或几种特定类型的数据,比如关系型数据库主要处理结构化数据,而文档型数据库则更适合非结构化数据。但是现在,随着技术的进步,像MySQL这样的数据库也开始支持更加复杂的数据模型,允许我们在同一个系统内处理多种格式的数据。通过上述五个部分的详细介绍,相信你现在应该对如何利用MySQL进行多模态数据分析有了更清晰的认识。

java专栏 2116

linux设置权限为rwt,深入理解linux的权限设置和SUID,SGID,粘滞位

我们知道文件的权限可以用三个八进制数字表示。其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了。那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限。这个八进制数字的三个位是:SUID SGID sticky-bit它们的含义是:SUID当设置了SUID位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。如果所有...

weixin_42348021的博客 1114

2026华为OD机试(Python)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Python实现。

MISAYAONE的博客 29万+

深入理解linux的权限设置和SUID,SGID,粘滞位

转自:http://www.diybl.com/course/6_system/linux/Linuxjs/20081020/150812.html  当您最初登录时,将启动一个新的 shell 进程。您已经知道,但是您可能还不知道这 个新的 shell进程(通常是 bash)使用您的用户标识运行。照这样,bash 程序可以访问 所有属于您的文件和目录

980

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

深入理解linux的权限设置和SUID,SGID以及粘滞位

我们知道文件的权限可以用三个八进制数字表示。其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了。那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限。这个八进制数字的三个位是SUID SGID sticky-bit SUID 当设置了SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文...

weixin_34115824的博客 190

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

从零开始学Linux之文件权限

使用ls -l查看myfile文件的权限,可以看到第一位是-,所以myfile是普通文件,第二到第四位rw-表示文件所有者有读和写权限,第五到第七位r--表示同组用户只有读权限,第八到第十位r--表示其他用户只有读权限。加了三个特殊位后文件权限数字表达式变为四位,第一位为特殊位组成的八进制数字,第二位为属主权限组成的八进制数字,第三位为属组成员权限组成的八进制数字,第四位为其他成员权限组成的八进制数字。、只有执行权限能进入目录,但不能看到目录下的内容,要想看到目录下的文件名和目录名,需要读权限。

m0_62574258的博客 1080

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux系统的安全性和稳定性-文件与目录的权限进阶:SUID、SGID与设置位

例如,一个团队的项目目录可能被设置为SGID,这样团队中的任何成员在该目录下创建的文件都将自动继承该目录的所属组,从而确保团队成员能够相互访问和修改这些文件。在文件权限的显示中,如果文件拥有者的执行权限位被替换为s或S(S表示该文件原本没有执行权限,但设置了SUID),则表明该文件设置了SUID。然而,需要注意的是,在文件上设置粘滞位并不常见,因为通常文件的删除和修改权限已经通过其他权限位(如所有者、所属组和其他用户的读写权限)得到了足够的控制。‌遵循最小权限原则‌:在分配文件权限时,应遵循最小权限原则。

weixin_43209512的博客 448

别再乱用chmod 777了!聊聊Linux里SUID、SGID、SBIT这三个“特殊权限”到底怎么用

本文深入解析Linux系统中的SUID、SGID和SBIT三种特殊权限,探讨它们在权限控制中的精妙应用。通过实际案例展示如何安全配置这些权限,避免滥用`chmod 777`带来的安全隐患,提升系统管理效率与安全性。特别适合Linux系统管理员和开发者学习参考。

weixin_30567225的博客 347

深入理解linux的权限设置和SUID,SGID

        深入理解linux的权限设置和SUID,SGID,粘滞位2008-04-17 00:37深入理解linux的权限设置和SUID,SGID以及粘滞位      我们知道文件的权限可以用三个八进制数字表示。其实文件的权限应该用四个八进制来表示,不过用 ls -l       命令时,只显示三个罢了。那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限。这个八进制数字

lianjunxiaochou的专栏 469

Linux SUID、SGID、chattr特殊权限位

Linux12位特殊权限位,SUID、SGID、chattr加密等知识内容。

RSQ博客 1551

Linux SUID SGID 详解

SUID、SGID、STICKY简介: 在了解特殊权限位前,先来了解一下安全上下文概念。 安全上下文: 进程运行时能够访问哪些资源或文件,不取决于进程文件的属主属组,而是取决于运行该命令的用户身份的uid/gid,以该身份获取各种系统资源。 特殊位作用: SUID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属主身份来执行。 SGID对一

ydt_lwj的专栏 1952

深入理解Linux权限与所有权

引言 在Linux这个自由而强大的操作系统中,文件和目录的权限与所有权扮演着至关重要的角色。它们不仅关乎系统资源的安全与保护,更是Linux多用户环境下协作与共享的基础。本文将带您深入探索Linux权限与所有权的奥秘,通过实例和应用,帮助您掌握这一核心知识点。名词解释 权限(Permissions):在Linux中,权限决定了哪些用户可以对文件或目录进行哪些操作。基本权限包括读(r)、写(w)和执...

ouyangzhenxin的博客 1145

从/tmp目录的‘粘滞位‘说起:深入理解Linux Sticky Bit权限的实战应用与配置

本文深入解析Linux Sticky Bit(粘滞位)权限的核心原理与实战应用,从/tmp目录的权限设计出发,详细讲解如何配置粘滞位以保护多用户环境中的文件安全。文章涵盖权限表示方法、Web上传目录配置、团队协作最佳实践等高级管理场景,并探讨安全注意事项与现代替代方案。

weixin_32705179的博客 560
上一篇: 需要明白服务器购买重点
下一篇: find命令
VS_URL
博客等级 码龄15年 12粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值