
В последних версиях 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"
после завершения отслеживания желаемого события.
решение2
Решение для Каталины
Вы можете добавить .mobileprofile, который деприватизирует журналы в Catalina 10.15.4.
Я скопирую сюда ответ, которым поделился пользователь lx07:https://superuser.com/a/1532052/1091227(В их посте есть изображения, которые я не могу опубликовать повторно, поэтому для получения более подробной информации ознакомьтесь с ним.)
Как описано здесьОбъединенные журналы: как включить конфиденциальные данныеВы можете создать и установить профиль конфигурации следующим образом:
Профиль для включения (раскрытия) личных данных
<?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>
Сохраните файл какИмяВашегоПрофиля.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>
данные становятся видны.