如何在 macOS 统一日志中显示私有数据

PVi*_*itt 4 security logging macos macos-catalina

我需要调试一些关于用户登录的问题,但是新的统一日志中隐藏了许多有趣的信息,如下所示(缩短):

opendirectoryd[130]: [com.apple.opendirectoryd:session] queuing request - <private>
Run Code Online (Sandbox Code Playgroud)

在一些较旧的 macOS 版本上,有一个选项可以启用私人数据的日志记录:

sudo log config --mode "private_data:on"
Run Code Online (Sandbox Code Playgroud)

但是,在 Catalina 上,这会导致:

log: Invalid Modes 'private_data:on'
Run Code Online (Sandbox Code Playgroud)

所以,问题是:如何在 macOS Catalina 上启用私人数据的日志记录?

lx0*_*x07 7

如此处统一日志:如何启用私有数据所述,您可以创建和安装这样的配置文件:

启用(显示)私人数据的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PayloadContent</key>
  <array>
    <dict>
      <key>PayloadDisplayName</key>
      <string>ManagedClient logging</string>
      <key>PayloadEnabled</key>
      <true/>
      <key>PayloadIdentifier</key>
      <string>com.apple.logging.ManagedClient.1</string>
      <key>PayloadType</key>
      <string>com.apple.system.logging</string>
      <key>PayloadUUID</key>
      <string>ED5DE307-A5FC-434F-AD88-187677F02222</string>
      <key>PayloadVersion</key>
      <integer>1</integer>
      <key>System</key>
      <dict>
        <key>Enable-Private-Data</key>
        <true/>
      </dict>
    </dict>
  </array>
  <key>PayloadDescription</key>
  <string>Enable Unified Log Private Data logging</string>
  <key>PayloadDisplayName</key>
  <string>Enable Unified Log Private Data</string>
  <key>PayloadIdentifier</key>
  <string>C510208B-AD6E-4121-A945-E397B61CACCF</string>
  <key>PayloadRemovalDisallowed</key>
  <false/>
  <key>PayloadScope</key>
  <string>System</string>
  <key>PayloadType</key>
  <string>Configuration</string>
  <key>PayloadUUID</key>
  <string>D30C25BD-E0C1-44C8-830A-964F27DAD4BA</string>
  <key>PayloadVersion</key>
  <integer>1</integer>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

将文件另存为YourProfileName.mobileconfig。如果您不需要对其进行签名或部署,您只需双击.mobileconfig它,一旦您进行身份验证,它就会自动添加到系统偏好设置中的配置文件中。

系统偏好设置

监测解锁用户和组系统预置在Mac OS卡塔利娜10.15.3与(作为链接的文章中所建议的)这个命令的结果如下:

sudo log stream --predicate '(subsystem == "com.apple.opendirectoryd") && (senderImagePath == "\/System\/Library\/OpenDirectory\/Modules\/PlistFile.bundle\/Contents\/MacOS\/PlistFile")'
Run Code Online (Sandbox Code Playgroud)
  • 没有配置文件加载<private>数据(在这种情况下用户解锁)被编辑: 未加载配置文件

  • 加载配置文件后,<private>可以看到以前的数据: 加载配置文件

  • 作为补充,这仍然适用于 macOS Big Sur(2022 年 1 月) (3认同)
  • 仍然适用于 macOS Monterey (12.3)(2022 年 5 月) (3认同)
  • 谢谢这么详细的回答。事实上,我阅读了链接的文章,但老实说,我完全害怕需要使用 MDM 工具对其进行签名。似乎只有在您实际使用 MDM 工具进行远程部署时才需要。 (2认同)
  • 这在 macOS 13.2.1 (Ventura) 中仍然有效。要确认配置文件的安装,请打开“系统设置”,单击左侧栏中的“隐私和安全”,然后一直滚动到右侧底部以找到“配置文件”。在配置文件中,双击“启用统一日志私有数据”项进行安装。 (2认同)