LOADING...

加载中请稍等...

loading

Linux每日一篇 - 88 - chattr

Linux文件属性修改神器!掌握chattr命令,轻松设置文件高级属性,保护重要文件!

chattr命令是什么?

chattr命令用于修改文件或目录的扩展属性,可以设置文件为不可变、只追加等特殊属性,提供比普通权限更强的保护机制。

基本用法

# 设置文件为不可变(不能修改、删除、重命名)
chattr +i filename

# 移除不可变属性
chattr -i filename

# 设置文件只能追加内容
chattr +a filename

# 移除只追加属性
chattr -a filename

# 递归设置目录及子文件属性
chattr -R +i directory/

# 查看文件属性
lsattr filename

# 设置多个属性
chattr +ai filename  # 不可变+只追加

# 移除多个属性
chattr -ai filename

实用技巧

# 保护重要配置文件
chattr +i /etc/passwd

# 设置日志文件只能追加
chattr +a /var/log/myapp.log

# 递归保护整个配置目录
chattr -R +i /etc/myapp/

# 查看文件属性
lsattr /etc/passwd

# 临时移除保护进行修改
chattr -i important_file
# 修改文件...
chattr +i important_file

# 设置目录内容不能被删除
chattr +a directory/

# 保护脚本不被意外修改
chattr +i my_important_script.sh

# 递归查看目录属性
lsattr -R /etc/myapp/

常用场景

# 保护系统关键文件
chattr +i /etc/hosts

# 防止日志文件被覆盖
chattr +a /var/log/application.log

# 保护重要脚本
chattr +i /usr/local/bin/important_script

# 设置目录使其内容只能添加不能删除
chattr +a /var/backup/

# 保护SSL证书文件
chattr +i /etc/ssl/certs/mycert.pem

# 在脚本中临时修改保护
chattr -i /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
chattr +i /etc/resolv.conf

# 保护用户配置文件
chattr +i ~/.bashrc

# 保护整个配置目录
chattr -R +i /etc/nginx/
头像
汪多多是只猫
失业的运维工程师
热爱开源与分享
微信公众号