Разрешения Syslog-NG для чтения / var / log

Вы также можете немного улучшить вывод ps .

ps --width ${n:-$COLUMNS} ${opts} #set ps terminal width

ps -ww ${opts} #no word wrap

ps -o ${only_interesting_output} ${opts} #trim output

Это сообщит ps о необходимости синтаксического анализа вывода в соответствии с вашими требованиями.

Конечно, если вы не используете перенос слов, у вас проблема с отсутствием информации. Вам действительно нужно все это для всех процессов? Если да, откройте его в пейджере:

ps ww ${opts} | $PAGER

Если нет, укажите, что вы хотите видеть:

ps -o args= -p $pid

В качестве альтернативы вы можете явно сообщить ps вашего терминала - width :

man ps

...

w Широкий выход. Используйте эту опцию дважды для неограниченной ширины.

-w Широкий выход. Используйте эту опцию дважды для неограниченной ширины.

- ширина n Установить ширину экрана.

Параметр - width работает в точном соответствии с вашими запрошенными спецификациями без необходимости использования каких-либо дополнительных фильтров или вспомогательных процессов (которые, вероятно, только загромождают ваш -aux вывод даже более). А с $ COLUMNS , как показано выше и как указывает Стефан, он будет даже работать динамически.

Вероятно, стоит отметить, что люди часто пытаются добавить такие ненужные фильтры, чтобы они могли разместить | pipe через другой фильтр для анализа вывода, который является также, скорее всего, будет ненужным. Конечно, под людьми я в основном имею в виду меня.

Операнд -o utput, о котором я упоминал выше, позволяет фильтровать, какие столбцы отображаются в ps , а при добавлении задания = вы даже можете назвать столбец как вам будет угодно. Я оставляю назначение пустым и передаю ему target -p rocess $ pid , поэтому единственный вывод из ps вообще - это $ pid имя команды и ее аргументы при вызове. А -o едва ли поверхностно определяет, что ps будет отображать, а что нет.Это направление, которое я бы порекомендовал вам выбрать, особенно через:

man ps

... 

Чтобы увидеть каждый процесс в системе с использованием синтаксиса BSD:

ps ax

ps axu

Чтобы распечатать дерево процессов:

ps -ejH

ps axjf

Чтобы получить информацию о потоках:

ps -eLf

ps axms

Чтобы получить информацию о безопасности:

ps -eo euser, ruser, suser, fuser, f , comm, label

ps axZ

ps -eM

Чтобы увидеть каждый процесс, запущенный как root (реальный и эффективный ID) в пользовательском формате:

ps -U root -u root u

To просмотр каждого процесса в пользовательском формате:

ps -eo pid, tid, class, rtprio, ni, pri, psr, pcpu, stat, wchan: 14, comm

ps axo stat, euid, ruid, tty, tpgid, sess, pgrp, ppid, pid, pcpu, comm

ps -Ao pid, tt, user, fname, tmout, f, wchan

Распечатать только идентификаторы процессов syslogd:

ps - C syslogd -o pid =

Вывести только имя PID 42:

ps -p 42 -o comm =

0
15.12.2018, 18:30
1 ответ

О своих сомнениях:

  1. syslog -ng (и большинство приложений для обработки журналов )по умолчанию используют порт 514 для передачи журналов по сети. Вам нужно либо изменить конфигурацию по умолчанию, чтобы использовать номера портов более 1024 (как на стороне клиента, так и на стороне сервера ), или дать разрешение syslog -ng на использование «системных портов».

  2. Да, вам нужно разрешение на чтение журналов аудита. Поскольку журналы аутентификации МОГУТ содержать личную информацию, она доступна не для всех. Точный способ зависит от дистрибутива, но syslog -ng не требует каких-либо специальных разрешений выше «способен читать».

В качестве отправной точки я рекомендую вам прочитать "Руководство по администрированию" syslog -ng, оно также содержит примеры.

0
28.01.2020, 04:07

Теги

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