欢迎光临
专业Linux运维二十年

如何保护Linux重要目录 chattr命令不可修改属性设置

chattr命令用于设置文件或目录的不可修改属性,具体操作为使用sudo chattr +i 文件或目录路径,如sudo chattr +i /etc/passwd,并可通过sudo chattr +i -r /etc递归设置目录,检查属性可用lsattr命令,输出中含i表示已设置,但该命令仅适用于ext文件系统,不提供加密保护,且需谨慎应用于关键目录,备份时也需注意属性恢复,解除属性则使用sudo chattr -i命令。

有时候我们希望某些系统文件或目录不被意外修改,甚至root用户也不能随便改动。这时候就可以用到Linux下的chattr命令来设置不可修改属性。

什么是 chattr 命令?

chattr 是 Linux 中用来更改文件系统中文件或目录属性的命令。它比 chmod 更加强大,因为它可以控制一些底层的文件行为特性。其中最常用的一个属性就是 +i,表示设置文件或目录为“不可修改”。

一旦设置了这个属性,即使是 root 用户也无法删除、重命名、修改内容或者向其中写入数据,除非先解除该属性。

如何使用 chattr 设置不可修改属性?

操作方式其实很简单,基本格式如下:

比如你想保护 /etc/passwd 文件,防止被修改,可以这样执行:

如果你还想保护整个 /etc 目录,可以加上 -R 参数递归设置:

注意:设置后任何对该目录/文件的操作都会失败,包括写入、删除、重命名等。

如何检查是否设置了不可修改属性?

你可以通过 lsattr 命令查看某个文件或目录是否已经设置了特殊属性:

如果输出中有字母 i,说明已经设置了不可修改属性。

举个例子:

这表示 file.txt 被设置了 i 属性。

需要注意的地方

  • 只适用于支持 ext 文件系统的分区chattr 在 ext2/ext3/ext4 文件系统上工作良好,但在其他文件系统(如 NTFS 或 FAT)上可能无效。
  • 不是加密保护chattr 只是阻止了对文件的修改,并不能隐藏文件内容。用户仍然可以通过读取权限查看文件内容。
  • 谨慎使用在系统关键目录:例如 chattr3、/etc 等目录设置 +i 后,可能会导致失败或服务无法正常运行。
  • 备份和恢复时要处理属性:在做备份还原时,记得同时保存并恢复这些属性,否则可能导致系统异常。

如果你想取消某个文件的不可修改属性,只需把 +i 换成 chattr7:

最后提醒一下

设置不可修改属性是一个简单但非常有效的安全加固手段,尤其是在服务器环境中。不过也要注意别一不小心把自己锁在外面了。比如误将 /etc 加了 +i 导致服务更新失败,这种情况就得手动解除属性再操作。

基本上就这些,合理使用 chattr,能让你的系统更安心一些。

以上就是如何保护Linux重要目录 chattr命令不可修改属性设置的详细内容,更多请关注php中文网其它相关文章!

脚本之家
赞(0) 打赏
未经允许不得转载:Linux老运维 » 如何保护Linux重要目录 chattr命令不可修改属性设置

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫