macOS系统设置怎么开启系统日志审计功能

浅敏酱_8360

浅敏酱_8360

2026-10-03

207人浏览

原创

macOS无一键开启系统日志审计的原生开关,需按需组合log stream实时监听tccd/sandboxd/kernel事件、log show导出结构化历史日志、OpenBSM持久捕获fr/fw系统调用,以及控制台App关键词筛选导出,实现轻量、可追溯、隐私友好的敏感文件访问审计。
macOS 没有“开启系统日志审计功能”的一键开关,也没有图形化设置项能直接启用完整文件访问审计。它的日志与审计能力是分层、按需组合的——你需要明确想查什么(比如谁读了通讯录、哪个App试图访问桌面、是否有越权写入),再用对应命令聚焦捕获。

用 log stream 实时监听权限与沙盒拦截事件

这是最轻量、无需配置、立即生效的方式,适合快速排查敏感行为:

执行以下命令,即可看到实时弹出的权限请求和拒绝记录:

log stream \
  --predicate 'subsystem == "com.apple.tccd" OR subsystem == "com.apple.sandboxd" OR process == "kernel"' \
  --info --debug

它会显示:

  • tccd 日志:Chrome 请求访问 /Users/xxx/Documents,用户点了“允许”还是“拒绝”
  • sandboxd 日志:某个后台进程尝试读取 login.keychain-db 被明确 deny
  • kernel 日志(配合 --debug):底层 openat 系统调用失败的具体路径和错误码

加 > ~/audit.log 可保存;用 --last 1h 替换 stream 可查最近一小时历史。

用 log show 导出结构化日志做深度回溯

当你要分析过去几天的行为(比如排查某次异常访问),log show 更精准、可筛选:

例如,导出近30天所有“全盘访问”授权相关日志:

log show \
  --predicate 'subsystem == "com.apple.tccd" AND (eventMessage contains "full disk access" OR eventMessage contains "allow" OR eventMessage contains "deny")' \
  --last 30d \
  --style syslog > ~/Desktop/fda-audit-$(date +%Y%m%d).txt

其他常用场景:

  • 查沙盒拒绝:含 deny + file-read-data 的 sandboxd 记录
  • 查内核文件错误:含 openat 或 VFS 的 kernel error 级别日志
  • 查特定App行为链:如 Slack 访问通讯录或桌面的完整上下文

务必加上 --info --debug,它能提供 PID、bundle ID、调用堆栈等关键溯源字段。

macos-suite-readonly
macos-suite-readonly

macOS 只读查询:Mail 未读、Calendar 日程、Notes 搜索、Stocks 行情(输出 JSON)。

下载

对关键目录启用 OpenBSM 持久化读写捕获

如果需要记录**实际发生的读写操作**(不只是拦截或授权),就得启用 OpenBSM 审计子系统:

它默认已安装,但需手动配置规则来捕获 fr(文件读)、fw(文件写)等系统调用:

  • 编辑 /etc/security/audit_control,在 flags: 行后添加 fr,fw(如 flags:lo,aa,fr,fw)
  • 重启审计服务:sudo audit -s
  • 日志自动写入 /var/audit/ 下的二进制文件,可用 praudit 解析

注意:OpenBSM 会产生较多日志,建议只对真正敏感的路径(如 ~/Documents、~/Library/Keychains)启用,并配合 auditreduce 过滤。

用控制台 App 快速定位和导出线索

不需要命令行也能初步审计:

打开「控制台」→ 左侧选本机 → 右上角搜索框输入关键词,例如:

  • s:com.apple.tccd:只看隐私权限服务日志
  • deny file-read-data:搜所有被沙盒拒绝的读操作
  • panic 或 crash:辅助判断是否因异常访问引发崩溃

双击日志可展开详情;筛选后点「文件 → 导出所选日志」,就能保存为文本供进一步分析。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3790

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3273

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2393

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5710

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5382

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3173

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2685

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2899

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Miniconda官方安装文档
Miniconda官方安装文档

共0课时 | 0人学习

HBuilderX macOS 安装手册
HBuilderX macOS 安装手册

共0课时 | 0人学习