a) Прекратите использовать старый unix acroread
, поскольку он, вероятно, не видел обновлений безопасности годами или б) использовать уловку LD_PRELOAD
для подделки открытия файла passwd
или в) вручную добавить необходимые учетные записи пользователей в локальный файл passwd
.
Мне пришлось установить его на LDAP-машины, и он не работает, и рылся в файле passwd
:
$ strace -e trace=file -o ugh acroread
(acroread:17602): GLib-WARNING **: getpwuid_r(): failed due to unknown user id (1234)
...
$ grep passwd ugh
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
Итак, одним «исправлением» действительно было добавление пользовательских записей в файл passwd
.
Я точно не знаю, что такое syslog -ng, но я предполагаю, что он также использует эвристический разбор устаревших сообщений syslog, точно так же, как rsyslog (с другой эвристикой, я думаю ).
Следует отметить, что показанный формат сообщения является странным. RFC3164 описывает то, что обычно можно увидеть на проводе, а второй формат здесь очень далек от того, что там описано. Если возможно, лучшим решением будет попросить отправителя исправить формат, чтобы он больше соответствовал стандартам.
Да, оба ваших сообщения похожи, но не совсем соответствуют формату сообщения системного журнала, описанному в RFC3164. Для получения дополнительной информации см. эту и следующие страницы в документации syslog -ng . syslog -ng также пытается разобрать эти неверные сообщения, но это может не сработать. Вы можете попробовать следующее:
ХТХ, Роберт