Уровень серьезности (priority) определяет важность сообщения. Программы регистрируют любые сообщения — от отладочной информации до требований экстренного вмешательства — а демон syslogd игнорирует те из них, важность которых ниже, чем указано в конфигурационном файле. Уровень серьезности указывается ключевым словом, список которых в порядке возрастания важности приведен в таблице 9.3. Допускаются также ключевые слова * (все сообщения) и none (никаких сообщений).
Уровни серьезности сообщений Таблица 9.3
Ключевое слово | Означает |
---|---|
debug | Отладочные сообщении |
Info | Информационные сообщения о штатных ситуациях |
notice | Замечания: сообщения о необычных ситуациях |
warning | Предупреждения |
err | Ошибки |
crit | Критические ошибки |
alert | События, требующие срочного вмешательства |
emerg | События, угрожающие работе системы |
В Red Hat-совместимых системах можно ставить перед уровнем серьезности дополнительные модификаторы «=» (регистрировать сообщения только указанного уровня) и «!» (игнорировать сообщения указанного и более высоких уровней). Можно также направлять сообщения не только в обычный файл, но и в именованный канал, поставив перед ним символ «|».
Листинг 9.4. Примерный файл /etc/syslog.conf
# Протоколирование аутентификации. Файл протокола
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
# Файл регистрации попыток доступа к системе, имеет
# ограниченный доступ. Обычно в этот файл записываются
# сообщения об удаленном доступе к этой машине, например,
# сообщения от демона FTP о том, какие пользователи и
# когда регистрировались на данном сервере.
authpriv.* /var/log/secure
# Сообщения пользовательских программ
user.* -/var/log/user.log
# Протоколировать все информационные сообщения, кроме
# почтовых
*.info;mail.none; -/var/log/messages
# Протоколирование почты
# Уровень отладки, информации и замечаний
mail.=debug;mail.=info;mail.=notice -/var/log/mail/info
# Уровень предупреждений
mail.=warn -/var/log/mail/warnings
# Уровень ошибок
mail.err -/var/log/mail/errors
# Протоколирование демона cron.
cron.=debug;cron.=info;cron.=notice -/var/log/cron/info
cron.=warn -/var/log/cron/warnings
cron.err -/var/log/cron/errors
# Протоколирование ядра
kern.=debug;kern.=infо;kern.=notice -/var/log/kernel/info
kern.=warn -/var/log/kernel/warnings
kern.err -/var/log/kernel/errors
# Очередь печати: сообщения уровня от "инфо" до "предупреждений"
lpr.info;lpr.!err -/var/log/lpr/info
# Протоколирование демонов: сообщения всех уровней, кроме "инфо"
daemon.=debug;daemon.!=info -/var/log/daemons
# Критические сообщения - всем тревога
*.emerg *
# Сохранять ошибки почты и новостей в отдельном файле
uucp,news.crit -/var/log/spooler
# Загрузочные сообщения
lоса17.* -/var/log/boot.log
9.3.2. Сетевое протоколирование
Протоколы — это история жизни системы; они необходимы администратору для выявления и устранения неполадок, но они необходимы и злоумышленнику — для поиска уязвимости или для того, чтобы скрыть следы своего вторжения. Поэтому иногда бывает полезно вести журнал на другом, более безопасном, компьютере.