Linux 磁盘文件权限保护:如何通过属性阻止修改

胖晨姑娘_7598

胖晨姑娘_7598

2026-06-18

241人浏览

原创

核心方法是使用chattr +i,它通过内核vfs层拦截write、unlink、rename等系统调用,使root也无法修改、删除或重命名文件,错误统一返回operation not permitted;比chmod 444更底层、不可绕过,适用于/etc/passwd等静态关键配置,但不可用于日志或动态文件。

linux 磁盘文件权限保护:如何通过属性阻止修改

要用属性阻止 Linux 文件被修改,核心方法是使用 chattr +i。它不是改权限,而是给文件打上“不可变”内核标记,连 root 都无法写、删、重命名或链接——错误统一报 Operation not permitted,比 chmod 444 或 chown 更底层、更难绕过。

为什么必须用 chattr +i,而不是 chmod

chmod 444 只控制用户空间的读写判断,root 可直接跳过;而 +i 是文件系统 inode 级属性,内核在每次 write、unlink、rename、truncate 前都会拦截。哪怕文件权限是 777,加了 +i 后 echo >、rm、mv 全部失败。

  • chmod 444 /etc/passwd → root 仍可 echo "x" > /etc/passwd
  • chattr +i /etc/passwd → root 执行相同命令,提示 Permission denied
  • ls -l 完全不显示 +i,必须用 lsattr 查看,否则容易误以为没生效

哪些文件适合加 i 属性

只锁那些「静态、极少变更、且修改必须人工介入」的核心配置:

  • /etc/passwd、/etc/shadow、/etc/group:用户身份基线,被篡改等于权限体系崩塌
  • /etc/sudoers:一行写错可能导致全员失权或提权失控
  • /etc/ssh/sshd_config:但加锁后 systemctl reload sshd 会失败,需先解锁再重载
  • /boot/grub2/grub.cfg:启动链第一环,防持久化后门

绝对不要加在日志(/var/log/*.log)、数据库目录(/var/lib/mysql)、动态生成配置(/etc/resolv.conf)或包管理器预期覆盖的文件上——加了会导致服务崩溃或升级失败。

Linux Journey
Linux Journey

当用户想学习Linux基础、命令行、文件系统等时,在LabEx查找并推荐免费的Linux Journey课程。

下载

执行前必须检查的几件事

加错位置或时机,系统可能直接瘫痪。操作前请确认:

  • 必须用 root 执行,sudo chattr +i 可以,但本质仍是 root 权限
  • 文件系统支持:运行 df -T /path,输出应为 ext4 或 xfs(FAT32/NTFS 不支持)
  • 备份到其他挂载点:cp /etc/sudoers /backup/sudoers.$(date +%s),因为加完 +i 后 cp 本身也会失败
  • SELinux 上下文正常:ls -Z /etc/sudoers,类型应为 etc_t;若为 admin_home_t 等非标类型,+i 可能被 SELinux 静默阻断

加锁后哪些操作会失败

不是“没权限”,而是内核拒绝所有写类系统调用:

  • echo "x" > fileprintf "y" >&1 > file → bash: file: Permission denied
  • rm filemv file oldln file link → Operation not permitted
  • usermod -aG wheel alice → 卡住或报错(要写 /etc/group 和 /etc/gshadow)
  • yum update openssh-server → 可能覆盖 /etc/ssh/sshd_config,导致 SSH 服务启动失败

对目录加 +i(如 chattr +i /etc/ssh)只禁止新建/删除/重命名子项,不影响已有文件内容读写——这点常被误解为“整个目录完全锁死”。

相关文章

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

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

下载

相关标签:

linux linux系统安全

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

相关专题

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

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

2023.08.15

397

5

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

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

2023.09.08

820

5

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

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

2023.09.19

2352

5

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

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

2023.10.09

796

5

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

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

2023.10.17

689

5

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

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

2023.10.17

354

3

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

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

2023.10.18

2096

4

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

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

2023.10.20

3832

4

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

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

2023.10.20

627

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习