在 Linux 系统中,尤其是 CentOS 这类企业级发行版中,文件除了常规的读写执行权限外,还可能拥有特殊的文件系统属性。这些属性可以控制文件是否能被删除、修改、重命名等,即使你是 root 用户也可能受限。要查看这些隐藏的属性,就需要用到 lsattr 命令。
lsattr 是 “list attributes” 的缩写,用于列出文件或目录的扩展属性(Extended Attributes),这些属性由文件系统(如 ext2/ext3/ext4)提供支持。
常见的属性包括:
基本语法如下:
lsattr [选项] [文件或目录] $ lsattr /etc/passwd-------------e-- /etc/passwd 输出中,每行开头的 16 个字符代表属性。例如:e 表示文件使用 extent 格式(ext4 特性),其余为短横线表示无特殊属性。
$ lsattr /etc/----i--------e-- /etc/shadow-------------e-- /etc/hosts-------------e-- /etc/resolv.conf 可以看到 /etc/shadow 文件设置了 i 属性,说明它被设为不可变,防止被意外修改或删除——这是系统安全加固的常见做法。
-d:查看目录本身的属性,而不是目录内的文件。-R:递归查看子目录中的所有文件。-a:显示以点(.)开头的隐藏文件。# 查看 /etc 目录本身的属性$ lsattr -d /etc-------------e-- /etc# 递归查看 /var/log 下所有日志文件的属性$ lsattr -R /var/log 虽然本文重点是 Centos lsattr命令,但为了完整性,简单提一下设置属性的命令:chattr(change attributes)。
# 给文件 test.txt 添加不可变属性$ sudo chattr +i test.txt# 移除不可变属性$ sudo chattr -i test.txt# 设置仅追加模式(常用于日志文件)$ sudo chattr +a secure.log ⚠️ 注意:只有 root 用户或具有 CAP_LINUX_IMMUTABLE 能力的进程才能修改这些属性。
掌握 查看文件属性 的技能对系统管理员至关重要:
/etc/passwd、/etc/shadow)的安全性;lsattr 是 CentOS 和其他 Linux 发行版中一个强大但常被忽视的工具。通过它,你可以深入了解文件系统的底层保护机制。结合 chattr,你还能主动加固系统安全。
无论你是刚接触 Linux 的小白,还是有一定经验的运维人员,掌握 Linux文件系统属性 和 lsattr使用教程 都将大大提升你的系统管理能力。
提示:在生产环境中修改文件属性前,请务必确认操作后果,避免造成服务中断。
本文由主机测评网于2025-12-16发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025128673.html