newby Asked: 2023-10-23 20:00:24 +0800 CST2023-10-23 20:00:24 +0800 CST 2023-10-23 20:00:24 +0800 CST 是否可以在auditctl中使用环境变量(例如$HOME)?乌班图20.04 772 我正在尝试监视/home/<user>/文件夹。 我创造了# auditctl -w $HOME -p rwxa -k home_access规则。但它仅为当前用户创建规则。 是否可以创建这样一个规则来监视所有用户的 $HOME 文件夹? home-directory 1 个回答 Voted Best Answer Tilman 2023-10-24T01:52:37+08:002023-10-24T01:52:37+08:00 您一并提出了多个问题,因此这里有几个答案,希望能够涵盖所有问题。 是的,可以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本身(即主目录的创建和删除),但这也许是可以忍受的。
您一并提出了多个问题,因此这里有几个答案,希望能够涵盖所有问题。
是的,可以
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
本身(即主目录的创建和删除),但这也许是可以忍受的。