Использование консольной утилиты для получения полных логов с правами администратора, но не как администратор

1

Я поддерживаю как минимум 2 логина:

нормальный это не права администратора

admin - делать эти иногда задачи, но повысить мою безопасность.

[10.11.6 EL Cap, а не новая система регистрации. Я надеюсь добраться до этого когда-нибудь, но за много шагов до этого!]

Как обычный пользователь, моя Консоль показывает намного меньше сообщений, чем если бы я вошел в систему с разрешения администратора. Я предпочитаю попытаться сделать консоль уровня администратора доступной для меня, без переключения пользователей, что является слишком разрушительным, поэтому в обычном режиме я запускаю терминал (iTerm2 для меня) и:

su -l admin_self

sudo /Applications/Utilities/Console.app/Contents/MacOS/Console &

Это работает в том смысле, что я вижу ВСЕ части системы и могу получить доступ к старым системным журналам и т. Д. В этой консоли, НО ... Я получаю много ошибок разрешений на монтажную панель в моем терминале при запуске:

2018-11-25 12:31:07.502 Console[71471:18037307] CFPasteboardRef    CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2018-11-25 12:31:19.472 Console[71471:18037307] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2018-11-25 12:31:19.474 Console[71471:18037307] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data

и я получаю подобное в журналах ошибок при переключении из / в приложение. Это раздражает, но что более важно, я не могу скопировать текст ошибки в этом режиме. Таким образом, все эти длинные пути и т. Д. Создают значительные блоки для меня, чтобы копать!

Любые идеи о вариантах, чтобы разрешить общий доступ к ПБ? Я могу копировать и вставлять между разными терминальными логинами, но хост-приложение (iTerm2) всегда в моей нормальной среде. Может быть, какие-то ключи, разрешения, которые я могу безопасно исправить, или какой-то канал на локальный хост с измененным списком привилегий для копии Консоли PrivConsole или ???

Возможно, полезно, я нашел удаленный pbcopy через SSH

и похожий вопрос без ответа:

Как получить вывод из console.app с учетной записью без прав администратора? не уверен, что он делает то же самое, терминальное окружение, частичное решение, которое я делаю ...

Немного больше исследований от меня: я получаю похожие ошибки, если я запускаю Консоль как мой обычный пользователь без прав администратора в терминале; ТАКЖЕ я получаю большую подсказку в этом:

Failed to connect (_consoleX) outlet from (NSApplication) to (ConsoleX): missing setter or instance variable
Colin
источник
Задумывались ли вы о настройке сервера системного журнала ?
Аллан
@Allan: спасибо за ответ ... не думал об этом. Я надеялся найти способ понять и исправить запуск процесса в пользовательском интерфейсе, который так или иначе отсутствует при запуске терминала. Все это может измениться, когда я доберусь до новой системы ведения журналов ... Мне не нужен целый дополнительный слой и другая реальная или виртуальная машина. Проще было бы, чтобы пользовательский интерфейс также входил в систему под моим именем администратора, но я бы предпочел не использовать даже это из-за большой дополнительной загрузки процессов для небольшой, тонкой, случайной необходимости.
Колин
Это, кажется, много «решения» для случайной необходимости. Что конкретно вы ищете?
Аллан
Я хочу иметь возможность запустить консоль, которая просматривает журналы и показывает мне, что там есть, а не только подмножество менее 10%. Моя консоль без прав администратора показывает 370 сообщений за последние 24 часа, а режим администратора показывает 4000 за последние 18 часов. Но, глядя на этот режим администратора, я провоцирую несколько сотен дополнительных ошибок и не позволяю вырезать / вставить информацию, когда это необходимо. Я смотрю на консоли "большинство" дней хотя бы один раз.
Колин
Я стремлюсь постоянно сокращать количество наиболее частых ошибок путем поиска и исправления с использованием dtrace и аналогичных инструментов. Для меня это часть системы управления, контроль и знание почти всех частей моей системы ...
Колин

Ответы:

-1

Хорошая работа вокруг, по крайней мере, для меня это lnav. Это, вероятно, более ресурсоэффективно, чем консоль, будет успешно работать в сеансе терминала в режиме администратора и предлагает:

  • фильтры
  • чередование нескольких файлов
  • выбор, какие файлы журнала, где
  • понимает ряд стандартных форматов файлов журнала
  • ошибка окраски / предупреждения (немного странно, может быть, это можно настроить)
  • аккуратная справка о том, где в журнале вы находитесь и источник сообщений (если многофайловый)
  • рассчитывает частоту сообщений и может переходить на более медленные разделы и т. д.
  • закладки
  • сводка по временной шкале (например, нормальный, ошибка и предупреждение об ошибках в каждом 5-минутном блоке)
  • Механизм SQL-запросов

И многое другое, я уверен, только начинается здесь. Инструмент, написанный и для пользователей, я думаю! 10% памяти и процессора консоли, больше функций.

Для бинарной загрузки требуется более поздняя версия sqlite3, чем для стандартного искажения Mac, поэтому я решил все. Не уверен, как это работает в переписанной системе регистрации!

До сих пор? Я в восторге!

Colin
источник
ОП хочет работать от имени администратора
Марк
Я OP, и это мое лучшее решение на данный момент, хотя в терминале. Мой полный вход в Mac UI не является правами администратора, и я не хотел больше входов в UI, но я рад su -l admin_user и запускать админские оболочки. На самом деле, я должен иметь их, например, для dtrace (с обходом SIP), поэтому у меня всегда открыто несколько окон администратора. Некоторые с экранными сессиями тоже под рукой. Мне просто нужно увидеть реальную регистрацию системы с минимальными издержками.
Колин
Я с радостью кодирую запросы Sql к системному журналу и получаю их в графическом виде, при этом я могу переключаться на реальные сообщения журнала в реальном времени. Очень приятно!
Колин