Как писать в /var/log/system.log на Mac

Похоже, у вас есть доступ к /etc/shadowв качестве привилегированного пользователя (sudo? ), сделать

sudo passwd root 

Если, с другой стороны, вы редактируете файловую систему на карте MicroSD на другом компьютере, просто отредактируйте пароль root в /etc/shadow. Удалите поле зашифрованного пароля, как в:

root::14610:0:99999:7:::

После этого вы сможете войти в консоль как пользователь root, нажать ENTER при запросе пароля и изменить его после входа в систему с помощью passwd.

2
04.10.2019, 15:07
1 ответ

Потоковые сообщения являются частью двоичного файла журнала. Apple переходит на единую систему ведения журналов, поэтому журналы больше не работают как раньше, по крайней мере, по умолчанию. Можно попытаться настроить syslogdи/или ASL (Apple System Logger )с помощью одного или обоих файлов конфигурации, /etc/syslog.confи /etc/asl.conf. (В /etc/aslхранится еще много файлов конфигурации для ASL.)Это может потребовать изучения справочных страниц, чтобы узнать, как создавать простые текстовые файлы журнала для определенных сообщений. Некоторые из этих руководств могут быть man 1 log, man 1 syslog, man 5 syslog.confи man 8 syslog. Я еще точно не определил, как это сделать, но я хотел дать вам какой-то метод для создания, просмотра и «отслеживания» пользовательских сообщений. (Я вернусь и обновлю этот ответ, если когда-нибудь узнаю, как отправлять определенные сообщения в обычный текстовый файл, настроив их новую систему ведения журнала. Кажется, что это, по крайней мере, можно сделать, потому что в /var/logсуществуют текстовые файлы.)


Можно отправлять сообщения с помощью syslog -sи logger. (Опция -sотправляет сообщения журнала на syslogd, а syslogможет делать больше, чем logger. )Простой способ отслеживать журналы аналогично tail— использовать Console.app. Откройте программу и поместите курсор на локальный компьютер, указанный в списке Устройства . В поле поиска укажите название программы, которая использовалась для отправки сообщения :одно из syslogили logger. Затем откройте терминал и отправьте сообщение.

syslog -s "test message"

После этого сообщение можно просмотреть в консоли, как показано ниже.

Snippet of Apple Console

Сообщения можно получать из журналов. Используйте параметры --infoи/или --debug, чтобы указать строки, которые logбудут игнорироваться по умолчанию. Укажите, какой процесс отправил сообщение системного журнала в параметре --predicate.

log show --info --debug --predicate "process == 'logger'"

или

log show --info --debug --predicate "process == 'syslog'"

Чтобы получить эффект, аналогичный tail, используйте команду stream.

log stream --info --debug --predicate "process == 'logger'"

или

log stream --info --debug --predicate "process == 'syslog'"

После запуска потока отправьте сообщение свидетелю о том, что он ведет себя аналогично tail, как показано на рисунке.

Apple log command streaming

Команда syslog -s "test message"использовалась для отправки сообщений.

4
28.04.2021, 23:28

Теги

Похожие вопросы