Sysklogd и klogd
klogd обрабатывает ядерные сообщения, в зависимости от вашей установки, их может быть разное количество. Например, можно включить учет процессов в системе. Реально почти все сообщения передаются syslogd для дальнейшей обработки. man-страницы для sysklogd, klogd и syslog.conf довольно хорошие с ясными примерами. Одна чрезвычайно мощная и часто пропускаемая способность syslog состоит в том, чтобы регистрировать сообщения на удаленный хост на котором работает syslog. Так как Вы можете определять много мест назначения для сообщений syslog (i.e. посылать все сообщения в файл /var/log/messages, на консоль, на удаленный хост или на несколько таких хостов) это позволяет Вам централизовать регистрацию на одном хосте. Но если кто-то все же доберется до протоколов и поправит их в своих интересах, Вы об этом можете и не узнать: встроенных средств контроля целостности тут нет.
Стандартные log-файлы, которые обычно определяются в файле syslog.conf:
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler
Первый (messages) получает большую часть информации: входы в систему пользователей, дампы TCP_WRAPPERS, данные о IP-firewall и многое другое. Второй обычно записывает события подобные изменениям пользователями своих UID/GID (через su, sudo), ошибки авторизации паролей и прочее в таком духе. Файл maillog обычно хранит сведения о соединениях pop/imap (вход и выход пользователей) и заголовок каждого письма прошедшего через систему (от кого, кому, msgid, status и прочая информация). Файл spooler не часто используется поскольку число людей использующих usenet или uucp резко упало, uucp был в основном заменен на ftp и email, а большинство серверов usenet обычно чрезвычайно мощные машины, чтобы обработать полный или даже частичный newsfeed, значит их немного (обычно одна на ISP или чуть больше в зависимости от размера).
Можно задавать дополнительные log-файлы, например:
kern.* /var/log/kernel-log
Можно также разделить поток сообщений на разные файлы в соответствии с типом сообщений:
*.emerg @syslog-host mail.* @mail-log-host
Теперь все сообщения ядра будут записываться в /var/log/kernel-log. Во втором случае все аварийные сообщения будут регистрироваться на ? syslog-host?, и все журналы почты будут посланы на ?mail-log-host ?, позволяя Вам легко поддерживать централизованные журналы различных услуг. Значение по умолчанию syslogd, которое поставляется во многих дистрибутивах ужасно опасно, журналы легко можно поправить или вообще разрушить.
По умолчанию файлы протоколов доступны на чтение/запись только для root. К тому же можно и нужно установить для них режим append only (помните, что программы ротации журналов воспринимают это болезненно).