auditd -s read的含义及用法

auditd -s read 这一命令的写法存在混淆,需要结合 Linux 审计框架(auditd)的背景进行解析。以下是分步说明:


1. 理解 auditd 和 auditctl 的区别

  • auditd:是 Linux 系统的审计守护进程,负责记录安全事件(如文件访问、系统调用等)。
  • auditctl:是用于配置 auditd 规则的工具(如定义监控哪些事件)。

因此,直接通过 auditd 命令添加监控规则是错误的,应使用 auditctl


2. auditd -s 的实际含义

  • auditd -s 用于查看或管理 auditd 服务的状态,而非配置规则

    1
    2
    3
    4
    # 查看 auditd 服务状态
    auditd -s
    # 或通过 systemctl/service 命令
    systemctl status auditd
  • -s 参数通常不接受额外操作(如 readauditd -s read 是无效命令。


3. 监控文件读取(read)的正确方法

若需监控文件或目录的读取操作(如 read 系统调用或文件访问),需使用 auditctl 添加规则:

示例 1:监控文件的读取访问

1
2
# 监控 /etc/passwd 的读取、写入、执行(-p rwx)
auditctl -w /etc/passwd -p r -k password_read
  • -w:监控路径。
  • -p r:监控读操作(r=read, w=write, x=execute)。
  • -k:为事件定义关键词(便于日志检索)。

示例 2:监控 read 系统调用

1
2
# 监控 64 位系统上的 read 系统调用
auditctl -a exit,always -F arch=b64 -S read -k file_reading
  • -a exit,always:在每次系统调用退出时记录。
  • -F arch=b64:指定架构(64 位)。
  • -S read:监控 read 系统调用。

4. 验证规则与查看日志

  • 查看已配置规则

    1
    auditctl -l
  • 检索日志(使用关键词 password_read):

    1
    ausearch -k password_read

5. 常见错误与纠正

  • 错误auditd -s read
    • 原因:误用 auditd 直接配置规则。
  • 纠正:改用 auditctl 定义规则,例如:
    1
    auditctl -w /path/to/file -p r -k monitor_read

总结

  • **auditd -s**:用于服务状态管理,不能配置规则。
  • 监控读取操作:使用 auditctl -w-S read 定义规则。
  • 日志分析:通过 ausearchaureport 工具检索审计日志。

正确使用审计框架能有效追踪系统活动,增强安全性。