Как извлечь атрибут из выходных данных ldapsearch

Весь мир хочет, чтобы вы чистили экран.

Как я сказал вhttps://unix.stackexchange.com/a/233855/5132и даже в обсуждении в списке рассылки, на которое косвенно ссылаются & #9786; …

Желание не очищать виртуальный терминал между -выключенным и последующим входом -в значительной степени плывет против течения, как обнаружили Грег Вуледж и другие. Наличие конфиденциальных выходных данных от привилегированных пользователей или боссов, остающихся после выхода -из системы, было проблемой безопасности для Unices (и других операционных систем удаленного -доступа с разделением времени )с 1970-х годов, и для этого требуется много усилий, чтобы отменить все то, что люди приложили для предотвращения этой проблемы. Как вы заметили, для этого они ввели несколько перекрывающихся механизмов.

  • Многие системы имеют стандартную команду clear_consoleв сценариях выхода из оболочки. (Это само по себе проблематично, поскольку плохо работает с графическими программами, работающими на виртуальном терминале ядра #1, и не работает ни с какими другими типами терминалов, виртуальными или реальными.)

    Эту команду необходимо удалить.

  • По умолчанию в программах getty, предназначенных для виртуальных терминалов, таких как mingetty, терминал очищается. (Это происходит перед входом в систему -, что означает, что выходные данные терминала могут остаться нестертыми, если служба входа в систему TTY остановлена. По иронии судьбы, эту функциональность лучше было бы поместить в login, который, благодаря необходимости PAM, все еще работает с выключенным журналом -.)

    Чтобы отключить это, необходимо установить параметр --noclear. В операционных системах systemd это включает в себя запись одного или нескольких файлов переопределения файла модуля, изменение настройки ExecStartили просто указание autovt@.serviceна локальный файл модуля собственной разработки.

  • Поставляемый systemd getty@.serviceсервисный модуль шаблона устанавливает TTYVTDisallocate=yes, который указывает systemd очистить виртуальный терминал ядра. (Это снова не работает ни с какими другими типами терминалов,даже не пользовательское -пространство виртуальных терминалов, что частично отражено в его названии.)

    Это также должно быть удалено, опять же с переопределением или другим шаблоном службы, на который указывает autovt@.service.

Конечно, они не полностью совпадают. mingettyбесполезен для реальных терминалов, подключенных через последовательные устройства; clear_console, как ни странно, является частью пакета оболочки Bourne Again и не вызывается людьми, у которых есть Korn, Z, Almquist, Fish, Watanabe или другая оболочка в качестве интерактивной оболочки входа в учетную запись пользователя; а механизм systemd TTYVTDisallocateнеприменим к не -systemd операционным системам.

Как я уже говорил в ходе обсуждения в списке рассылки несколько лет назад, console_clearвдвойне не нужен. С 2011 года Linux, встроенный -в эмулятор терминала, поддерживает управляющую последовательность ED 3для очистки буфера обратной прокрутки, поэтому возиться с переключением виртуальных терминалов, имеющим эти пагубные побочные -эффекты, в первом случае не нужно. место. Я добавил команду console-clearв набор инструментов nosh несколько лет назад, которая выдает эту управляющую последовательность (и, таким образом, может использоваться не только с Linux, встроенным -в эмулятор терминала, а также для работы через удаленное соединение ). Команда ncurses clearв настоящее время также умеет генерировать соответствующие управляющие последовательности, если так указано в terminfo.

И, конечно же, console-terminal-emulatorстандартно очищает буфер дисплея при зависании терминала.

Дополнительная литература

1
11.06.2020, 17:16
0 ответов

Теги

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