是否可以在 auditctl 中使用环境变量(例如 $HOME )?Ubuntu 20.04

是否可以在 auditctl 中使用环境变量(例如 $HOME )?Ubuntu 20.04

我正在尝试监视/home/<user>/文件夹。

我创建了# auditctl -w $HOME -p rwxa -k home_access规则。但它只为当前用户创建规则。

是否可以创建这样的规则来监控所有用户的 $HOME 文件夹?

答案1

您在一个问题中问了几个问题,因此这里有几个答案,希望能够涵盖所有问题。

  1. 是的,可以auditctl像在其他命令中一样使用环境变量。

  2. 使用环境变量时,您需要了解 shell 如何解释它们:它在调用命令时读取变量的内容,并将它们插入到命令行中变量的位置。如果变量的内容稍后发生变化,则不会产生任何影响。因此,该命令将监视运行命令时(和上下文)
    auditctl -w $HOME -p rwxa -k home_access
    命名的文件夹,无论稍后(或在不同上下文中)可能包含什么。$HOME$HOME

  3. auditctl命令仅监视单个文件夹。(在 之后给出的文件夹-w。)如果您要监视多个文件夹,则必须调用它几次。

  4. 可以创建一个监控所有用户目录的规则$HOME。为此,您必须读取用户列表,确定每个用户的,并将其循环$HOME提供给命令。这是编写脚本的一个小练习。auditctlbash

  5. 您可能还想准确说明“所有用户”的含义。系统用户是否rootavahi包括在监控范围内?

  6. 作为一个简单的特殊情况,如果你只想监视$HOME位于顶级目录中的那些目录/home(和全部),那么您可以直接输入:然后
    auditctl -w /home -p rwxa -k home_access
    就完成了。这还将监视目录/home本身(即主目录的创建和删除),但也许这是可以容忍的。

相关内容