Linux运维核心:限制特定目录执行二进制程序的权限

舞夢輝影

舞夢輝影

2026-06-28

163人浏览

原创

关键是用noexec挂载选项从内核层阻断执行路径,配合nosuid、nodev及权限管控:临时用sudo mount -o remount,noexec,nosuid,nodev /path,永久改/etc/fstab添加defaults,noexec,nosuid,nodev,并清理x位、设umask或默认acl。

linux运维核心:限制特定目录执行二进制程序的权限

直接禁用特定目录下二进制程序的执行能力,关键不是改文件权限本身,而是切断“运行”这个动作发生的路径。单纯 chmod 去掉 x 位只能防直接调用(如 ./a.out),但无法阻止通过解释器或系统调用间接执行;真正有效的做法是组合挂载选项与文件权限控制。

用 noexec 挂载选项阻断所有执行行为

noexec 是内核级开关,挂载时启用后,该分区上任何文件(无论权限如何)都无法被当作程序直接执行——包括二进制、脚本、甚至 ELF 格式 payload。它不依赖文件属性,绕过 chmod 的局限性。

  • 临时生效:sudo mount -o remount,noexec /path/to/dir
  • 永久生效:编辑 /etc/fstab,在对应行 options 字段添加 noexec(如 defaults,noexec),再执行 sudo mount -a
  • 验证是否启用:运行 findmnt -o TARGET,OPTIONS /path/to/dir,确认输出含 noexec

配合 nosuid 防止提权类二进制绕过

即使 noexec 已启用,若目录中存在带 SUID 的程序(如复制来的 /bin/bash),攻击者仍可能利用其他漏洞触发提权。nosuid 能让 SUID/SGID 位彻底失效:普通用户执行它时,进程 EUID 不会切换,始终以当前用户身份运行。

Python Linux版
Python Linux版

Python Linux版 为 Python.org 官方提供的 Python 3.14.6 Linux/Unix 源码包,适合在Linux/Unix环境中安装、运行 Python 代码并学习函数、模块和脚本开发。

下载
  • 与 noexec 一起使用更稳妥,常见安全组合为 defaults,noexec,nosuid,nodev
  • 切记不要对系统根分区(/)、/usr、/bin 等路径启用,否则会导致基础命令不可用
  • 适用场景明确:/tmp、/var/tmp、用户上传目录、容器 bind mount 路径、数据盘挂载点

清理已有文件的执行权限并约束新建行为

挂载选项解决“运行”问题,但需同步处理存量文件和未来新增文件的权限,避免误配导致策略形同虚设。

  • 批量清除:find /path/to/dir -type f -executable -exec chmod a-x {} \;
  • 防止新文件带 x 位:设置默认 umask(如 022 或 027),或对目录配置默认 ACL:setfacl -d -m u::rw-,g::r--,o::r-- /path/to/dir
  • CI/CD 或构建阶段加入检查:find . -type f -perm /a+x -print,发现即阻断发布

补充运行时监控与校验机制

权限可能被误操作或恶意篡改,需主动检测异常状态并及时响应。

  • 定时扫描:用 find /path/to/dir -type f -perm -a+x -print 检出带执行位的文件,触发告警
  • 启动校验:在服务启动脚本中加入判断逻辑,例如 if [ $(stat -c "%a" /path/to/binary | cut -c1) = "7" ]; then exit 1; fi
  • 结合 SELinux/AppArmor:为该目录下程序打标签并限制 execmem、ptrace 等危险操作,形成纵深防御

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

335

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

616

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1171

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

408

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

324

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1007

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1799

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

321

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 127人学习