Linux的特殊权限

news/2025/3/15 6:56:44/文章来源:https://www.cnblogs.com/guangdelw/p/18343826

特殊权限是什么

在Linux中,特殊权限是指针对文件或目录的特殊权限设置,包括SetUIDSetGIDSticky Bit

特殊权限 说明
SetUID Set User ID 当一个可执行文件被设置了SetUID权限后,当任何用户执行该文件时,文件的所有者权限会被赋予执行者,而不是执行者的权限。这使得用户可以以文件所有者的身份执行文件,通常用于需要特殊权限的程序。
SetGID Set Group ID 当一个可执行文件被设置了SetGID权限后,当任何用户执行该文件时,文件的所属组权限会被赋予执行者,而不是执行者的权限。这使得用户可以以文件所属组的身份执行文件,通常用于需要特殊权限的程序。
Sticky Bit 粘置位 当一个目录被设置了Sticky Bit权限后,只有目录的所有者、文件的所有者或者root用户才能删除该目录下的文件。这通常用于共享目录,防止其他用户删除不属于自己的文件。

一个典型的例子就是 passwd 命令,这个命令允许用户修改自己的密码。

ll /usr/bin/passwd 
-rwsr-xr-x. 1 root root 32648 Aug 10  2021 /usr/bin/passwd

我们可以看到本来是rwx的权限表示形式变成了rws

查找特殊权限的文件或目录

#1.查找/usr/bin目录下拥有suid权限的文件
find /usr/bin -perm /u+s#2.查找/目录下拥有guid权限的目录
find / -type d -perm /g+s#3.查找/目录下拥有sticky权限的目录
find / -type d -perm /o+t

linux权限的示意图

Linux特殊权限的说明

SetUID权限

  • 添加SetUID的权限,Owner原本有执行权限的,执行权限位会从 x 会变为 s
  • 添加SetUID的权限,Owner原本没有执行权限的,执行权限位会从 - 会变为 S
  • 数字模式:4744

例如,Linux系统 passwd 修改密码的命令需要通过修改 /etc/passwd 文件实现,但是这个文件是权限所属于 root 用户,普通用户需要临时提权调用这个 passwd 命令。

  1. 查看passwd命令,查看所有者的执行位权限为s

    [root@localhost ~]# ls -l /usr/bin/passwd
    -rwsr-xr-x. 1 root root 33424 Feb 18  2022 /usr/bin/passwd
    
  2. 将passwd命令的setuid权限取消

    [root@localhost ~]# chmod 755 /usr/bin/passwd
    
  3. 使用普通用户jungout修改密码,发现执行错误

    [root@localhost ~]# su - jungout
    [jungout@localhost ~]$ passwd
    Changing password for user jungout.
    Current password:                                 #输入旧密码
    New password:                                     #输入新密码
    passwd: Authentication token manipulation error   #认证令牌操作错误
    
  4. 切换回root用户添加setuid权限

    [jungout@localhost ~]$ exit
    [root@localhost ~]# chmod u+s /usr/bin/passwd
    
  5. 再次使用jungout修改密码,执行成功

    [root@localhost ~]# su - jungout
    [jungout@localhost ~]$ passwd
    Changing password for user jungout.
    Current password:                                 #输入旧密码
    New password:                                     #输入新密码
    Retype new password:                              #确认新密码
    passwd: all authentication tokens updated successfully.
    

SetGID权限

SetGID权限,用户可以以文件所属组的身份执行文件,新创建的文件或目录会继承该目录的所属组,但是只有目录的所有者、文件的所有者或者root用户才能删除该目录下的文件。

  • 添加SetGID的权限,Group原本有执行权限的,执行权限位会从 x 会变为 s
  • 添加SetGID的权限,Group原本没有执行权限的,执行权限位会从 - 会变为 S
  • 数字模式:2770

例如,Linux系统中一个项目的 共享目录 设置 SetGID 权限,共享目录的名称为:share ,这个目下执行的操作和文件都会继承该目录的所属组的权限。

  1. 在/home目录下创建share的目录
    [root@localhost ~]# mkdir /home/share
    
  2. 要求/home/share的所属组是shareuser,组内成员可读可写。
    [root@localhost ~]# groupadd shareuser
    [root@localhost ~]# chgrp shareuser /home/share
    [root@localhost ~]# chmod 770 /home/share
    
  3. 设置sgid权限位,所属组的执行位权限为s
    [root@localhost ~]# chmod g+s /home/share
    [root@localhost ~]# ls -l /home | grep share 
    drwxrws---. 2 root  shareuser  6 Jan  5 04:55 share
    
  4. 将普通用户jungout添加到shareuser组
    [root@localhost ~]# gpasswd -a jungout shareuser
    Adding user jungout to group shareuser
    
  5. 切换到jungout并在/home/share目录上创建file1文件(继承组权限,组内成员都可以访问)
    [root@localhost ~]# su - jungout
    [jungout@localhost ~]$ touch /home/share/file1
    [jungout@localhost ~]$ ls -l /home/share/
    -rw-rw-r--. 1 jungout shareuser 0 Jan  5 05:27 file1
    

Sticky Bit权限

Sticky Bit 权限,只有目录的所有者、文件的所有者或者root用户才能删除该目录下的文件,这通常用于共享目录下的私人文件,防止其他用户删除不属于自己的文件。

  • 添加 Sticky Bit 的权限,Others原本有执行权限的,执行权限位会从 x 会变为 t
  • 添加 Sticky Bit 的权限,Others原本没有执行权限的,执行权限位会从 - 会变为 T
  • 数字模式:1777

例如,Linux系统中临时目录 /tmp ,通常用于临时存放服务的进程PID,这要求意味着所有用户都有对该目录的写入权限,但只有文件的所有者才能删除自己创建的文件。

  1. 查看/tmp目录的ohter的执行权限位为:t

    [root@localhost ~]# ls -l / | grep tmp
    drwxrwxrwt.  16 root root 4096 Jan  5 05:42 tmp
    
  2. 创建普通用户user1,并在/tmp目录下创建一个目录

    [root@localhost ~]# useradd user1
    [root@localhost ~]# su -user1
    [user1@localhost ~]$ mkdir /tmp/user1-servr
    [user1@localhost ~]$ exit  #返回root用户
    
  3. 使用普通用户jungout删除/tmp/user1-servr目,操作不允许。

    [root@localhost ~]# su - jungout
    [jungout@localhost ~]$ rmdir /tmp/user1-services
    rmdir: failed to remove '/tmp/user1-services/': Operation not permitted
    

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

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

相关文章

性能测试之内存瓶颈问题分析与调优

注意:内存问题是性能分析与调优非常常见的一类问题(内存不足/内存泄露/内存溢出等) 一、内存概念: 计算机的存储系统分为主存储系统(内存) 辅助存储系统(外存) 外存 :计算机的辅助存储器,包括硬盘、软盘、光盘、网络云盘等 【输入-键盘,鼠标,输出- 屏幕,音频 视频】…

【待做】【域渗透】获取域控方法总结

搭建虚拟环境 【域控】,192.168.10.3 【域成员】,192.168.10.4工具 mimikatz procdump64在域渗透中、作为渗透测试人员,获取域控的权限基本上可以获取整个内网的权限。在大多数情况下,攻击者可以通过定位域管理员所登录的服务器,利用漏洞获取服务器system权限,找到域管理…

南京大学计算机基础(四)踩坑笔记

第六周 缓冲区溢出章节 bang问题:每次输入的id将影响getbuf中的堆栈位置,用-u 12的ebp和-u 123的ebp位置就不一样。 注意汇编代码中不能出现a0(代表换行符),如果地址有a0就将它随便改改就行了(a0改为a8-0x8)。注意gdb如果不能重定向,可能是因为你修改了gdbinit:https://s…

【PythonRS】基于矢量点读取遥感影像波段值制作训练样本

在进行遥感定量反演或数据分析时,往往我们都具有矢量的真值,可能是点文件也可能是面文件,最重要的还是通过这个矢量获取影像中该区域的值,这样方便做波段分析以及后续的反演等流程。今天给大家分享一下如何通过点文件获取影像的波段值。​ 在进行遥感定量反演或数据…

17.python字符类型

python之字符类型字符串 (一)字符类型的符号: <class str> (二)查看字符类型语句:type()(三)常见的字符串类型语句: capitalize()、title()、count()、join、split、strip、strip、rstrip、startswith、startswith、endswith、find、rfind、replace、upper、…

SqlDbx客户端连接服务器Oracle数据库

查了很多文章,介绍的不对,走了好多弯路,最后整理一下,供参考 一、下载Oracle客户端1、SqlDbx如果是32位的,客户端也要下载32位的 2、Oracle客户端版本要和服务端版本一致(本例用的是12.1.0.2.0) 3、32位客户端下载地址:https://www.oracle.com/database/technologies/i…

Python异常处理机制

编程错误 编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运行时错误。 语法错误 语法错误,也就是解析代码时出现的错误。当代码不符合Python语法规则时,Python解释器在解析时就会报出SyntaxError语法错误,与此同时还会明确指出最早探测到错误的语句。例如: print …

洛谷P1223 排队接水

P1223 排队接水 题目描述 有 \(n\) 个人在一个水龙头前排队接水,假如每个人接水的时间为 \(T_i\),请编程找出这 \(n\) 个人排队的一种顺序,使得 \(n\) 个人的平均等待时间最小。 输入格式 第一行为一个整数 \(n\)。 第二行 \(n\) 个整数,第 \(i\) 个整数 \(T_i\) 表示第 \(…

Nessus Professional 10.8.0 Auto Installer for Ubuntu 24.04

Nessus Professional 10.8.0 Auto Installer for Ubuntu 24.04Nessus Professional 10.8.0 Auto Installer for Ubuntu 24.04 发布 Nessus 试用版自动化安装程序,支持 macOS Sonoma、RHEL 9 和 Ubuntu 24.04 请访问原文链接:https://sysin.org/blog/nessus-auto-install-for-…

Fortinet FortiGate Firmware (FortiOS 7.6.0) 全系列下载 - 下一代防火墙 (NGFW)

Fortinet FortiGate Firmware (FortiOS 7.6.0) 全系列下载 - 下一代防火墙 (NGFW)Fortinet FortiGate Firmware (FortiOS 7.6.0) 全系列下载 - 下一代防火墙 (NGFW) 防特网 飞塔 防火墙 系统软件 请访问原文链接:https://sysin.org/blog/fortinet-fortigate/,查看最新版。原创…

哲讯智能:苏州SAP代理,引领企业智能化转型

苏州,这座融合古典与现代的城市,以其独特的魅力和创新精神,成为企业发展的热土。在数字化转型的大潮中,哲讯智能科技有限公司作为苏州地区值得信赖的SAP代理,致力于为企业提供全面的SAP解决方案,助力企业实现智能化管理和业务流程的优化。SAP系统的重要性SAP系统作为全球…

【闲话】08.05.24

又笑又哭的是什么毛病0805 闲话 头图:今日推歌: 《1212。》 エイハブ/A4。おおお のべつ幕無しのこの世 噢噢噢 如此无止境的人世间 本能の赴くままに 在本能的驱使下随之逐流 生きる意義は推して知るべし 最后在其中知晓活着的意义 そりゃ幸じゃんか 这是多么幸运啊好久没听…