如何在Linux下通过Mount -O Nosuid限制挂载分区内二进制程序的特权提权以规避越权风险

胖强吖_5810

胖强吖_5810

2026-05-21

503人浏览

原创

nosuid通过使SUID/SGID权限位失效来阻断提权:即使程序属主为root且设定了-rwsr-xr-x权限,挂载时启用nosuid后,普通用户执行它仍以自身身份运行,无法获得root权限;它适用于/tmp、用户上传目录等非系统路径,常与noexec、nodev组合使用以增强防护。

如何在linux下通过mount -o nosuid限制挂载分区内二进制程序的特权提权以规避越权风险

直接用 mount -o nosuid 挂载分区,能让该分区上所有带 SUID/SGID 权限的二进制程序失效——普通用户运行它时,不会切换成 root 或其他高权限身份,而是始终以当前用户身份执行,从而切断一条常见提权路径。

nosuid 是怎么挡住提权的

Linux 中 SUID 位(如 -rwsr-xr-x)的作用是:执行者以文件所有者身份运行程序。攻击者常利用它调用 /bin/bash、/usr/bin/find 或自编译的 exp 获取 root shell。而 nosuid 告诉内核:“别管这个文件有没有 s 位,一律按执行者自己的权限来”。哪怕 /mnt/data/shell 是 root:root 且带 SUID,挂载时加了 nosuid,运行它就只是普通用户进程,无法提权。

临时启用 nosuid(测试用)

对已挂载的分区,无需重启,一条命令即可验证效果:

  • 执行 sudo mount -o remount,nosuid /mnt/data
  • 验证是否生效:findmnt -o TARGET,OPTIONS /mnt/data,确认输出中含 nosuid
  • 进一步测试:复制一个带 SUID 的程序到该目录,比如 cp /bin/bash /mnt/data/mysh && chmod u+s /mnt/data/mysh,再运行 /mnt/data/mysh -p —— 若返回的是普通用户 shell(提示符不是 #),说明已起作用

永久生效(生产环境必须)

编辑 /etc/fstab,找到对应分区那一行,在第 4 字段(options)里加入 nosuid:

原内容:
/dev/sdb1 /mnt/data ext4 defaults 0 2
修改后:
/dev/sdb1 /mnt/data ext4 defaults,nosuid 0 2

保存后执行 sudo mount -a 重载配置,立即生效,无需重启。

CMIC Skill Scanner (BCLinux 21 / 低版本 glibc Linux x64)
CMIC Skill Scanner (BCLinux 21 / 低版本 glibc Linux x64)

使用内置 Rust 引擎审计待安装的 skill 包或归档,可选桥接外部扫描器。

下载

为什么建议搭配 noexec 和 nodev

单用 nosuid 只防 SUID 提权,但攻击者还可能通过其他方式突破:

  • noexec:禁止直接运行任何可执行文件(如 ./exp),补上“不能执行”这一环
  • nodev:不解析设备文件,防止在挂载点下创建 /mnt/data/evil_device 并用于攻击

典型安全组合写法(fstab 示例):
/dev/sdb1 /mnt/data ext4 defaults,nosuid,noexec,nodev 0 2

注意:不要对 /、/usr、/bin 等系统目录加这些选项,否则系统命令会失效。适用场景明确——/tmp、/var/tmp、用户上传目录、数据盘、容器 bind 挂载路径等非系统路径。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4510

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3773

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

3093

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7670

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

7302

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

4133

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3625

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3879

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习