首页/系统/Linux 运维命令速查/lsattr 查看文件系统属性

lsattr 查看文件系统属性

lsattr 显示文件/目录的 ext4 属性位(i/a/d 等),排查不可删改文件、审计加固效果时配合 chattr 使用。

Linux 运维命令速查系统更新于 2026-10-13

lsattr 是什么

lsattr 列出文件或目录在 ext 系列文件系统上的属性位,最常用的是 i(immutable,不可修改)与 a(append-only,只能追加)。它与 chattr 是一对:chattr 负责设置属性,lsattr 负责查看结果。排查「root 都删不掉的文件」「日志被意外清空」这类问题时,它是必须过一遍的一站。

基本信息

所属e2fsprogs
语法lsattr [选项] 文件...
常用选项-R 递归、-d 只看目录本身、-a 含隐藏文件
常见属性i 不可变、a 只能追加、e extent(ext4 下几乎总在)

典型使用场景

  • 文件删不掉或改不动时,确认是否被设为不可变
  • 审计安全加固效果:关键配置是否已加不可变保护
  • 确认日志文件的只能追加属性是否已经生效
  • 备份恢复后清理遗留的不可变属性
  • 递归扫描某个目录,找出所有被锁定的文件
  • 变更配置前先检查有没有属性位在阻挡修改

常用示例

常用示例
lsattr /etc/passwd                   # 查看单个文件的属性位
lsattr -R /etc | grep -- '----i'     # 递归找出被锁定的文件
lsattr -d /var/log                   # 只看目录本身属性
lsattr -a -d /etc/ssh                # 含隐藏项查看目录
lsattr /var/log/secure.log           # 确认是否只能追加
chattr +i /etc/resolv.conf           # 加不可变,再用 lsattr 验证
chattr -i /etc/resolv.conf           # 解除后才能修改
find /etc -type f -exec lsattr {} + | grep -- '----i' | head   # 精细扫描

属性字母读法

字母含义典型场景
iimmutable 不可修改保护关键配置不被改动
aappend-only 只能追加日志防删除,但不能编辑
eextent 区段映射ext4 下几乎总是存在
d不参与 dump 备份与备份策略相关
短横线该位置未设置属性前四位全为短横线表示无特殊属性
lsattr 对目录默认列出目录内容,只看目录本身要加 -d;批量扫描前先明确对象,否则输出范围与预期不符。
属性位是 ext 系列文件系统的能力:XFS 只支持其中一部分,lsattr 的结果与 ext4 并不一致,跨文件系统照搬经验会得出错误结论。
不可变属性连 root 也挡:必须先 chattr -i 才能改动。遇到「权限看着正常却改不了文件」,先查属性位,再查 SELinux 与挂载是否只读。

易错点

  • 文件权限看起来正常却改不动:忘了查不可变属性,把时间浪费在权限排查上
  • 批量扫描目录不加 -d:列出的是目录内容而非目录本身,容易误判范围
  • 在 XFS 上照搬 ext4 的属性经验:支持范围不同,结论不通用
  • 数据恢复后遗留只能追加属性:写入持续失败,报错信息还很含糊

数据来源与参考

  • man 1 lsattr(e2fsprogs)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌