我正在尝试监视/home/<user>/
文件夹。
我创建了# auditctl -w $HOME -p rwxa -k home_access
规则。但它只为当前用户创建规则。
是否可以创建这样的规则来监控所有用户的 $HOME 文件夹?
答案1
您在一个问题中问了几个问题,因此这里有几个答案,希望能够涵盖所有问题。
是的,可以
auditctl
像在其他命令中一样使用环境变量。使用环境变量时,您需要了解 shell 如何解释它们:它在调用命令时读取变量的内容,并将它们插入到命令行中变量的位置。如果变量的内容稍后发生变化,则不会产生任何影响。因此,该命令将监视运行命令时(和上下文)
auditctl -w $HOME -p rwxa -k home_access
命名的文件夹,无论稍后(或在不同上下文中)可能包含什么。$HOME
$HOME
此
auditctl
命令仅监视单个文件夹。(在 之后给出的文件夹-w
。)如果您要监视多个文件夹,则必须调用它几次。可以创建一个放监控所有用户目录的规则
$HOME
。为此,您必须读取用户列表,确定每个用户的,并将其循环$HOME
提供给命令。这是编写脚本的一个小练习。auditctl
bash
您可能还想准确说明“所有用户”的含义。系统用户是否
root
也avahi
包括在监控范围内?作为一个简单的特殊情况,如果你只想监视
$HOME
位于顶级目录中的那些目录/home
(和全部),那么您可以直接输入:然后
auditctl -w /home -p rwxa -k home_access
就完成了。这还将监视目录/home
本身(即主目录的创建和删除),但也许这是可以容忍的。