在 Linux 系统中,“锁定重要文件”通常指防止重要文件被误删、篡改或非法修改。常见做法有下面几种,按“安全强度”和“使用场景”由浅入深说明。
chattr 锁定文件(推荐)chattr 可设置**不可修改(immutable)**属性。
# 锁定文件
sudo chattr +i /etc/passwd
# 解锁文件
sudo chattr -i /etc/passwd
# 查看属性
lsattr /etc/passwd
常见属性:
+i:不可修改、删除、重命名(root 也不行)+a:只能追加,不能修改已有内容(适合日志)✅ 适合:
/etc/passwd/etc/shadow⚠️ 注意:
ext2/3/4、xfs 等支持的文件系统# 只允许 root 读写
sudo chown root:root /etc/important.conf
sudo chmod 600 / important.conf
权限建议:
配合:
sudo chmod 000 file # 完全禁止访问(不推荐长期使用)
# 禁止某用户访问
setfacl -m u:username:--- /etc/important.conf
# 查看 ACL
getfacl /etc/important.conf
✅ 适合多用户系统、复杂权限需求
将重要目录挂载为只读:
mount -o remount,ro /etc
或 /etc/fstab:
/dev/sda1 /etc ext4 ro 0 2
✅ 适合:
定期校验文件 hash,发现变更报警。
aide --init
aide --check
auditctl -w /etc/passwd -p wa -k passwd_change
alias rm='rm -i'
或安装:
safe-rm⚠️ 只能防误删,不能防 root 修改
| 场景 | 推荐方式 |
|---|---|
| 防止误改 | chattr +i |
| 防日志篡改 | chattr +a |
| 多用户权限 | ACL |
| 系统加固 | 只读挂载 |
| 安全审计 | AIDE / auditd |
如果你能说明:
我可以给你一套可直接执行的锁定方案。