Linux chattr 命令详解

2025-12-29 17:58:13 1079

Linux chattr 命令详解

欢迎来到8455线路检测中心技术小课堂,每天分享一个技术小知识。

chattr(Change Attributes)是用于更改 Linux 文件系统上文件扩展属性的命令,这些属性控制着文件的高级行为特性。

基本语法

chattr [选项] [+-=] [属性] 文件...

常用属性

核心属性

属性 描述 适用文件系统

a (append only) 只能追加内容,不能修改或删除 ext2/3/4, xfs, btrfs

i (immutable) 不可修改、删除、重命名、链接 ext2/3/4, xfs, btrfs

A (no atime updates) 不更新访问时间 ext2/3/4, reiserfs

c (compress) 启用压缩(内核处理) ext2/3/4

s (secure deletion) 安全删除(清零后删除) ext2/3/4

u (undeletable) 删除后可恢复 ext2/3/4

d (no dump) 不被 dump 备份 ext2/3/4

S (synchronous updates) 同步更新(立即写入磁盘) ext2/3/4

j (data journaling) 数据日志(ext3/4) ext3/4


常用操作符

+:添加属性

-:移除属性

=:设置精确属性(移除其他)

常用示例

1. 设置文件为不可修改

# 设置文件为只读不可修改

sudo chattr +i important_file.txt

# 尝试删除会报错

rm important_file.txt

# rm: cannot remove 'important_file.txt': Operation not permitted

2. 设置文件只能追加

# 日志文件只能追加,不能修改已有内容

sudo chattr +a /var/log/app.log

# 可以追加新内容

echo "New log entry" >> /var/log/app.log

# 但不能修改或删除

echo "Modify" > /var/log/app.log

# bash: /var/log/app.log: Operation not permitted

3. 查看文件属性

# 使用 lsattr 查看文件属性

lsattr important_file.txt

# ----i----------- important_file.txt

# i 表示设置了 immutable 属性

4. 递归设置目录

# 递归设置目录下所有文件

sudo chattr -R +i /etc/important_configs/

# 注意:-R 选项在设置目录本身时行为不同

5. 组合使用属性

# 设置多个属性

sudo chattr +aAi file.txt

# 移除特定属性

sudo chattr -i file.txt

# 精确设置属性(移除其他,只保留指定属性)

sudo chattr =ai file.txt

实用场景

保护系统文件

# 防止关键配置文件被修改

sudo chattr +i /etc/passwd

sudo chattr +i /etc/shadow

sudo chattr +i /etc/sudoers

保护日志完整性

# 确保日志不被篡改

sudo chattr +a /var/log/auth.log

sudo chattr +a /var/log/syslog

开发环境保护

# 保护配置文件模板

sudo chattr +i config_template.conf

注意事项

1.需要root权限:大多数属性需要超级用户权限

2.文件系统支持:不同属性支持不同的文件系统

3.谨慎使用:

设置 +i后无法通过 rm -f删除

必须先 chattr -i才能修改

4.备份文件:chattr +d的文件不会被 dump备份

5.性能影响:某些属性(如 S同步写入)可能影响性能

故障排除

忘记取消属性

# 如果文件设置了 +i,无法用普通方式修改

# 必须先用 root 取消属性

sudo chattr -i protected_file

查看所有属性

# 详细查看文件属性

lsattr -v file.txt

# 或递归查看目录

lsattr -R /etc/

与权限的区别

标准权限:控制谁可以读、写、执行

扩展属性:控制文件的高级行为特性

扩展属性在标准权限检查之后生效


chattr是系统管理员的重要工具,特别适合保护关键系统文件不被意外或恶意修改。


8455线路检测中心官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,8455线路检测中心整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,8455线路检测中心期待与你一起探索。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图