Linux环境锁定关键文件防止误删操作
使用chattr命令
chattr 是一个用于改变文件属性的命令。通过设置 i 属性,可以使得文件变为不可修改、删除、重命名和链接。
-
设置不可修改属性:
打开终端并输入以下命令来锁定单个文件:sudo chattr +i /path/to/your/file -
验证属性更改:
使用lsattr命令来检查是否正确地设置了属性:lsattr /path/to/your/file -
解锁文件:
如果需要对该文件进行更改或删除操作,可以通过以下方式解除其保护:sudo chattr -i /path/to/your/file
设置ACL(访问控制列表)
ACL提供了比传统权限更详细的权限控制机制。
- 安装acl工具包(如果尚未安装) :
大多数现代Linux发行版都预装了acl工具包。如果没有,请使用包管理器进行安装。 - 限制对关键目录或者单个关键文档的写入权限:
例如, 可以使用setfacl命令移除所有用户(除root外)对某个目录写入权限。 - 为特定用户设立规则, 如下所示:
sudo setfacl -m u:username:rx /path/to/directory_or_file
- 查看当前ACL规则:
getfacl /path/to/directory_or_file
5.如需移除特定规则:
sudo setfacl -x u:username /path/to/directory_or_file
利用脚本自动化
创建脚本自动化上述过程可以减少手动执行时出错机会,并且提高效率:
1.编写一个shell脚本,并在其中加入上述chatter和setfacl相关指令;
2.赋予该脚本执行权限并放置到合适位置;
3.根据需要设立计划任务(cron job)以便周期性检查和应用这些保护断言;
4.确保这些脚本只有root或者必要时才能被执行。

浙公网安备 33010602011771号