Linux环境锁定关键文件防止误删操作

使用chattr命令

chattr 是一个用于改变文件属性的命令。通过设置 i 属性,可以使得文件变为不可修改、删除、重命名和链接。

  1. 设置不可修改属性:
    打开终端并输入以下命令来锁定单个文件:

    sudo chattr +i /path/to/your/file
  2. 验证属性更改:
    使用 lsattr 命令来检查是否正确地设置了属性:

    lsattr /path/to/your/file
  3. 解锁文件:
    如果需要对该文件进行更改或删除操作,可以通过以下方式解除其保护:

    sudo chattr -i /path/to/your/file 

设置ACL(访问控制列表)

ACL提供了比传统权限更详细的权限控制机制。

  1. 安装acl工具包(如果尚未安装) :
    大多数现代Linux发行版都预装了acl工具包。如果没有,请使用包管理器进行安装。
  2. 限制对关键目录或者单个关键文档的写入权限:
    例如, 可以使用 setfacl 命令移除所有用户(除root外)对某个目录写入权限。
  3. 为特定用户设立规则, 如下所示:
sudo setfacl -m u:username:rx /path/to/directory_or_file  
  1. 查看当前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或者必要时才能被执行。

posted @ 2025-09-02 13:15  吴逸杨  阅读(39)  评论(0)    收藏  举报