news 2026/4/23 14:31:52

Linux 安全加固:检查并去除 SUID/SGID 特权文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 安全加固:检查并去除 SUID/SGID 特权文件

在日常运维和安全加固中,SUID/SGID 特权文件是一个常见的风险点。攻击者可能利用这些文件进行权限提升,因此我们需要定期检查并处理。


🔎 什么是 SUID 和 SGID

  • SUID (Set User ID):程序运行时会以文件所有者的身份执行,而不是当前用户。例如passwd命令允许普通用户修改密码,因为它以 root 身份运行。
  • SGID (Set Group ID):程序运行时会以文件所属组的身份执行,而不是当前用户所属组。

这些机制本身是为了方便用户执行某些管理操作,但如果程序存在漏洞,就可能被攻击者利用。


⚠️ 风险描述

在安全检查中发现以下文件存在特权位:

  • SUID 文件
    /usr/bin/chage/usr/bin/gpasswd/usr/bin/chfn/usr/bin/chsh/usr/bin/newgrp/bin/mount/bin/umount

  • SGID 文件
    /usr/bin/write

这些文件如果被利用,可能导致权限提升系统被入侵


🛠️ 解决方案

1. 去除 SUID 权限

chmodu-s /usr/bin/chagechmodu-s /usr/bin/gpasswdchmodu-s /usr/bin/chfnchmodu-s /usr/bin/chshchmodu-s /usr/bin/newgrpchmodu-s /bin/mountchmodu-s /bin/umount

2. 去除 SGID 权限

chmodg-s /usr/bin/write

📌 注意事项

  • 去除这些权限后,普通用户可能无法执行某些操作,例如:
    • 修改自己的 shell (chsh)
    • 挂载/卸载设备 (mount,umount)
  • 服务器环境(尤其是生产环境),通常推荐去掉这些权限,减少被利用的风险。
  • 桌面环境,如果需要这些功能,可以保留,但务必保持系统更新。

✅ 最佳实践

  1. 定期扫描系统中的 SUID/SGID 文件:
    find/ -perm -4000 -type f2>/dev/nullfind/ -perm -2000 -type f2>/dev/null
  2. 保留必要的特权文件(如passwd),其他尽量去掉。
  3. 在团队中建立安全基线检查脚本,自动化发现并处理风险。

📝 总结

通过去除不必要的 SUID/SGID 特权文件,可以有效降低系统被攻击者利用的风险。这是Linux 安全加固的重要一环,建议纳入日常运维流程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:29:25

适用于相控阵雷达的宽温、高动态DC-DC电源模块设计与测试

专用于雷达供电系统的DC-DC模块电源是一个非常专业和关键的领域。这类电源与普通工业电源有本质区别,必须满足雷达系统的特殊严苛要求。 以下是对雷达专用DC-DC模块电源的全面解析: 1.核心特点与要求 雷达系统(尤其是相控阵雷达、脉冲多普勒雷…

作者头像 李华
网站建设 2026/4/18 7:10:43

Vuetify终极指南:从零构建企业级Vue应用的完整教程

Vuetify终极指南:从零构建企业级Vue应用的完整教程 【免费下载链接】vuetify 🐉 Vue Component Framework 项目地址: https://gitcode.com/gh_mirrors/vu/vuetify 还在为Vue项目中的UI设计一致性、开发效率和团队协作而烦恼?Vuetify作…

作者头像 李华
网站建设 2026/4/23 12:45:09

Python闭包与解释器全解析

一、全局变量和局部变量1.作用域在python中,作用域分为全局作用域和局部作用域.2.变量的作用域在局部定义的变量---->局部变量在全局定义的变量---->全局变量3.全局变量与局部变量的访问范围① 在全局作用域中可以访问全局变量,在局部作用域中可以访问局部变量…

作者头像 李华
网站建设 2026/4/23 14:07:44

14、Mac OS X 网络连接管理与资源访问指南

Mac OS X 网络连接管理与资源访问指南 1. 网络连接管理 在 Mac OS X 系统中,几乎所有网络连接方面的操作都可以通过命令行工具进行配置、检查和监控。 1.1 查看网络连接状态 使用 netstat 命令可以查看网络连接的详细信息,例如: c24e0000 tcp4 0 0 127.…

作者头像 李华