在 Linux 下“锁定文件防删”常见有几种思路,取决于你是防自己误删、防其他用户删,还是防 root 删。下面按实用程度说明。
chattr +i( immutable,强烈推荐)sudo chattr +i /path/to/file
效果:
查看状态:
lsattr /path/to/file
解除锁定:
sudo chattr -i /path/to/file
✅ 适合:重要配置文件、日志、脚本
chattr +a(append-only,只能追加)sudo chattr +a /path/to/file
效果:
解除:
sudo chattr -a /path/to/file
chmod 000 file
chown root:root file
或只读:
chmod 444 file
⚠️ 注意:
文件能不能删,取决于所在目录的写权限:
chmod 555 /path/to/dir
这样:
结合使用效果更好:
chmod 555 /dir
chmod 444 /dir/file
✅ 只有 chattr +i 能防 root 删除
❌ 权限、ACL、sudo 都无法阻止 root
setfacl -m u:username:r-- file
mount -o remount,ro /partition
flock| 需求 | 推荐方式 |
|---|---|
| 防误删 | chattr +i |
| 日志防改 | chattr +a |
| 防普通用户 | 权限 + 目录锁 |
| 防 root | 只能 chattr +i |
如果你是服务器防护 / 容器 / 特定发行版,可以告诉我场景,我可以给更精确的方案。