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

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

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

一旦设置了这个属性,即使是 root 用户也无法删除、重命名、修改内容或者向其中写入数据,除非先解除该属性。
操作方式其实很简单,基本格式如下:

sudo chattr +i 文件或目录路径
比如你想保护 /etc/passwd 文件,防止被修改,可以这样执行:
sudo chattr +i /etc/passwd
如果你还想保护整个 /etc 目录,可以加上 -R 参数递归设置:
sudo chattr +i -R /etc
注意:设置后任何对该目录/文件的操作都会失败,包括写入、删除、重命名等。
你可以通过 lsattr 命令查看某个文件或目录是否已经设置了特殊属性:
lsattr 文件或目录路径
如果输出中有字母 i,说明已经设置了不可修改属性。
举个例子:
----i--------- file.txt
这表示 file.txt 被设置了 i 属性。
chattr 在 ext2/ext3/ext4 文件系统上工作良好,但在其他文件系统(如 NTFS 或 FAT)上可能无效。chattr 只是阻止了对文件的修改,并不能隐藏文件内容。用户仍然可以通过读取权限查看文件内容。/boot、/etc 等目录设置 +i 后,可能会导致系统升级失败或服务无法正常运行。如果你想取消某个文件的不可修改属性,只需把 +i 换成 -i:
sudo chattr -i /etc/passwd
设置不可修改属性是一个简单但非常有效的安全加固手段,尤其是在服务器环境中。不过也要注意别一不小心把自己锁在外面了。比如误将 /etc 加了 +i 导致服务更新失败,这种情况就得手动解除属性再操作。
基本上就这些,合理使用 chattr,能让你的系统更安心一些。
以上就是如何保护Linux重要目录 chattr命令不可修改属性设置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号