文章目录

  • 前言:
  • 1. SUID详解
  • 2. .SGID (Set-group identification)
  • 3. SBIT 权限 (Sticky Bit)
  • 总结:

前言:

上一节我们了解了Linux操作系统的权限管理,今天我们来聊聊文件特殊管理权限:

文件特殊管理权限主要从以下几点进行讨论:
SUID
SGID
Sticky bit

1. SUID详解

chmod u+s
chomd 4777
chmod u-s

我们平时创建用户后都会设置密码,我们都 知道passwd 和shadow,我们来看看他们的权限

[root@zmgaosh test]# ll /etc/passwd
-rw-r--r-- 1 root root 1317 6月  20 15:16 /etc/passwd
[root@zmgaosh test]# ll /etc/shadow
---------- 1 root root 1073 6月  20 15:16 /etc/shadow
[root@zmgaosh test]#

从上面可以看到,/etc/shadow,没有任何的访问权限,修改密码就是要把密码写入到这个没有权限的shadow, 如果是root修改密码我们可以理解,那如果是一个普通用户呢,能不能修改自己的密码。

  • 不能,因为没有权限,只能root帮他修改密码
  • 能,既然你这么问了肯定要猜能

我们来做个试验试一下:


[root@zmgaosh test]# useradd gaosh
[root@zmgaosh test]# passwd gaosh
更改用户 gaosh 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 它没有包含足够的不同字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@zmgaosh test]# su - gaosh
[gaosh@zmgaosh ~]$ whoami
gaosh
[gaosh@zmgaosh ~]$ passwd
Changing password for user gaosh.
Changing password for gaosh.
(current) UNIX password:    #先输入本身的密码
New password:                 #输入新密码
Retype new password:
passwd: all authentication tokens updated successfully.
[gaosh@zmgaosh ~]$
[gaosh@zmgaosh ~]$ ll /usr/bin/passwd
-rwsr-xr-x 1 root root 27856 Aug  9  2019 /usr/bin/passwd

可以看到,普通用户设置密码也能成功,所以猫腻在哪里呢,我们查看下passwd这个命令,发现该命令在owner区域的执行权限字段不是x而是s

结论: 如果一个命令的SUID位被设置为s, 那么其在执行的过程中,命令的执行用户就会切换成命令的owner进行执行

接下来为了验证上述结论,我们拿一个没有s权限的来试一下
实验步骤:

  1. 在没有suid权限时候能否执行操作
  2. 加上suid权限再次查看结果

本次我们用more命令

[root@zmgaosh test]# ll /usr/bin/more
-rwxr-xr-x 1 root root 41112 12月  3 2019 /usr/bin/more

可以看到没有suid权限

[root@zmgaosh test]# su - gaosh
上一次登录:一 6月 22 07:54:55 CST 2020pts/0 上
[gaosh@zmgaosh ~]$ whoami
gaosh
[gaosh@zmgaosh ~]$ more /etc/shadow     #没有suid权限的时候,无法查看此文件
/etc/shadow: Permission denied
[gaosh@zmgaosh ~]$ exit
logout
[root@zmgaosh test]# chmod u+s /usr/bin/more    #加上suid权限
[root@zmgaosh test]# ll !$
ll /usr/bin/more
-rwsr-xr-x 1 root root 41112 12月  3 2019 /usr/bin/more  #可以看到x位的s
[root@zmgaosh test]# su - gaosh
上一次登录:一 6月 22 08:06:14 CST 2020pts/0 上
[gaosh@zmgaosh ~]$ whoami
gaosh
[gaosh@zmgaosh ~]$ more /etc/shadow  #已经能够查看
root:$6$SlVomD$EBjlGVUUOnCCk.lupiqnL58ESGeVJBNCvIc7IE6LNQ9J66OEhNSvlZQvk8EJkx6laSHDeDnuVN3NnJgqZxZid.:18430:0:999
99:7:::

注意,有时候在owner区的s可能设置的是S。给普通文件强行加suid权限,显示的就是大写的S,因为普通文件本身没有x执行权限, 正确的用法是先给文件x权限,然后在给s权限,这样才是小写的s.

实验步骤:

  1. 先查看普通文件的权限
  2. 给予普通文件s权限,查看是否出现大S
  3. 去掉suid权限,先给予执行权限再给予s权限
  4. 查看是否x位是否为小s
[root@zmgaosh test]# ll
总用量 0
-rw-r--r-- 1 root root 0 6月  22 07:31 gaosh.txt
[root@zmgaosh test]# chmod u+s gaosh.txt
[root@zmgaosh test]# ll
总用量 0
-rwSr--r-- 1 root root 0 6月  22 07:31 gaosh.txt
[root@zmgaosh test]# chmod u-s gaosh.txt
[root@zmgaosh test]# ll
总用量 0
-rw-r--r-- 1 root root 0 6月  22 07:31 gaosh.txt
[root@zmgaosh test]# chmod u+x gaosh.txt
[root@zmgaosh test]# chmod u+s gaosh.txt
[root@zmgaosh test]# ll
总用量 0
-rwsr--r-- 1 root root 0 6月  22 07:31 gaosh.txt
[root@zmgaosh test]# 

2. .SGID (Set-group identification)

SGID和SUID基本类似,知识在命令执行后切换的用户不是owner而是group
可以给二进制可执行文件设置,也可以给目录设置

如果给目录设置SGID权限,那么在这个目录下新创建文件的时候,新创建的文件所属组会集成上级目录的权限。

[root@zmgaosh test]# mkdir gaosh
[root@zmgaosh test]# ll -d gaosh
drwxr-xr-x 2 root root 4096 6月  22 08:20 gaosh
[root@zmgaosh test]# chmod g+s gaosh
[root@zmgaosh test]# ll
总用量 4
drwxr-sr-x 2 root root 4096 6月  22 08:20 gaosh[root@zmgaosh test]# chown :gaosh gaosh  #改变文件目录的属组
[root@zmgaosh test]# ll -d gaosh
drwxr-sr-x 2 root gaosh 4096 6月  22 08:21 gaosh
[root@zmgaosh test]# cd gaosh
[root@zmgaosh gaosh]# touch test1  #验证新创建的文件的属组会不会改变
[root@zmgaosh gaosh]# ll
总用量 0
-rw-r--r-- 1 root root  0 6月  22 08:21 test
[root@zmgaosh gaosh]#

注意: SGID的s权限也是分大小写的,当g权限组没有x权限的时候,设置SGID后就会变成大写的S,这点跟SUID一样。

3. SBIT 权限 (Sticky Bit)

设置方法: chmod g+s

注意: 只对目录有效

Sticky Bit主要用于目录的共享。目录 /var/tmp and /tmp就具备共享功能,所有用户都可以创建文件,还可以修改或执行其它用户的文件,但是删除文件只能是文件拥有者。一旦目录的Sticky Bit被设置了,就能保证目录中各自的文件只有文件的拥有者和root可以删除。

[root@zmgaosh gaosh]# ll -d /var/tmp
drwxrwxrwt. 4 root root 4096 6月  20 20:31 /var/tmp

权限t也有大小写之分,大写说明没有x权限,小写说明有x权限,这点和权限s是一样的。

总结:

  1. 三种权限的设置方法:
    SUID: chmod u+s SGID: chmod g+s SBIT: chmod o+t
    数字表示: SUID =4 SGID =2 SBIT=1
    chmod 4777 chmod 2777 chmod 1777

如果三种权限都设置的话,就是chmod 7777

  1. 及时排除拥有特殊权限的用户,如果不是你本人设置的一定要去掉特殊权限,并检查是否 有后门漏洞。

我是高胜寒,一个在教培行业不忘初心的人

【linux】循序渐进学运维-基础篇-文件特殊权限管理相关推荐

  1. 【linux】循序渐进学运维-基础篇-文件的软硬链接

    文章目录 前言 软硬链接的介绍 1. 硬链接 2. 软连接 案例实战 1) 硬链接原文件删除不会影响链接文件的正常使用 2) 硬链接不能跨分区进行创建 3) 创建软连接,测试删除原文件后,软连接是否还 ...

  2. 【linux】循序渐进学运维-基础篇-文件权限管理

    写在前面: 博主是一名投身教培事业的标准八零后,叛逆而且追求自由,昵称取自于苏轼的<水调歌头>中的"高处不胜寒",时刻提醒自己要耐得住寂寞,受的了孤独,在技术的道路上, ...

  3. 【linux】循序渐进学运维-基础篇-操作系统初始化

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第60篇文章 文章目录 前言 安装Linux后的初始化操作 1. 关闭selinux功能 2. 精简开机启动项 a) 开启自启动服务 ...

  4. 【linux】循序渐进学运维-基础篇-linux运维级别

    本文是循序渐进学运维-基础篇系列的第43篇文章 文章目录 Linux的运行级别 运行级别的启动原理 1. 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service) ...

  5. 【linux】循序渐进学运维-基础篇-修复文件系统实战

    文章目录 前言: 实验环境 解决方案 1) 系统出现只读的情况的解决方案 2) 系统文件受损,可以使用fsck命令 a. 创建一个1G的分区 b. 对分区进行格式化 c. 破坏文件系统并重新挂载 d. ...

  6. 【linux】循序渐进学运维-基础篇-mount

    文章目录 1. mount 命令的讲解 1)作用: 用来挂载文件系统的命令 2)基本格式为: 3)常见的文件系统类型有: 4)查看当前系统都支持哪些操作系统 5)挂载选项详解 6)与mount相关的文 ...

  7. 【linux】循序渐进学运维-基础篇-配置静态IP详解

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第61篇文章 文章目录 前言 查看网卡物理连接是否正常的命令 1. mii-tool 2. ifconfig 1) 启动关闭指定网卡 ...

  8. 【linux】循序渐进学运维-基础篇-Linux系统启动原理

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第59篇文章 文章目录 前言 centos 6的启动过程 1. 加载BIOS硬件信息 a) 通电自检 b) MBR引导 2. grub ...

  9. 【linux】循序渐进学运维-基础篇-at命令

    文章目录 前言: 计划任务的分类: at命令的使用 1) 语法格式: 2) 查看是否安装 3) 常用参数 1) at实战举例 a) 21:50 创建一个文件 b) 三天后的下午5点执行touch /r ...

最新文章

  1. 风之语.我看苏州511房产新政
  2. zcmu1716(思维)
  3. apollo 配置中心_apollo-1:apollo配置中心单机模拟分布式部署
  4. python编写程序时必须遵守的规则被称为_Python程序设计方案习题与答案
  5. Centos7 安装python3.7.2
  6. kibana客户端工具操作ElasticSearch(增删改查三)
  7. 【Kafka】Kafka NIO
  8. jQuery中Ajax+Spring MVC实现跨域请求
  9. 一文解锁加密算法的秘密
  10. statspack report分析
  11. 六十八个超级经典小故事
  12. 华为ensp静态路由配置
  13. 大力发展职业技术教育,高等教育也要跟动车高铁一样降降速了
  14. redis 入门指南第二版 学习记录3 列表类型
  15. 国产之光!Mac必备长截图软件!iShot 1.7.7中文版
  16. 《VoIP技术构架(第2版·修订版)》一 第2章 企业电话的今天
  17. 数据科学和人工智能技术笔记 二十、数据可视化
  18. Android/Java中okhttp用法介绍
  19. 无线路由器的dhcp服务器如何设置,磊科无线路由器上DHCP服务器怎么设置
  20. mel表达式_Maya Mel基础知识教程 了解运用Mel

热门文章

  1. CHM电子书加密器(最新版V2009.9)
  2. 在计算机中 无符号书最常用于表示,微型计算机原理及应用试题库(无答案)
  3. Apache万网SSl证书安装不成功的一个注意事项(https安全链接,基于phpstudy)
  4. 黑盒、白盒、灰盒验证
  5. zemax初始结构参数设置、选择初始结构依据、初始结构选择的常见途径
  6. 四面蚂蚁金服,定级阿里P7,这份面试经验心得分享给你
  7. java让电脑死机怎么办,win7系统Java活动脚本出错导致电脑死机的解决方法
  8. 检测 tomcat 挂掉,发送邮件
  9. 【开源】DA14580-SPI教程——疯壳·ARM双处理器开发板系列
  10. 技术人的变现之路有哪些?