Linux-сервер своими руками
Шрифт:
В подкаталогах каталога /var/log находятся журналы (протоколы) других программ, например, в каталоге /var/log/kernel находятся журналы ядра, а в /var/log/httpd — журналы HTTP-сервера. По большому счету расположение журналов зависит от настройки соответствующих им программ, но в стандартном виде все они находятся в каталоге /var/log и его подкаталогах. Назначение стандартных журналов представлено в табл. 5.6. Подробно файлы журналов будут рассмотрены в следующем пункте (п. 5.8),
Стандартные журналы Таблица 5.6
Файл | Назначение |
---|---|
auth.log | Протоколирование аутентификации |
user.log | Сообщения пользовательских программ |
secure | Обычно в этот файл записываются сообщения об удаленном доступе к этой машине, например, сообщения от демона FTP о том, какие пользователи и когда регистрировались на данном сервере |
messages | Остальные сообщения |
5.8. Управление протоколированием
Этот раздел посвящен демону syslogd, а также управлению протоколированием сообщений системы и ядра с помощью этого демона. Прежде всего следует отметить, что демон находится в пакете sysklogd (если вы, конечно, используете Red Hat-совместимую систему), поэтому перед его использованием нужно установить этот пакет. В большинстве случаев у вас пакет уже будет установлен, а демон syslogd запущен. Чтобы проверить этот факт, введите команду syslogd. Если демон запущен, то в ответ вы должны получить сообщение:
Убедиться в том, что демон запущен, можно также с помощью команды:
Обратите внимание, что в пакет sysklogd на самом деле входят две программы: syslogd и klogd. Программа syslogd отвечает за протоколирование сообщений системы, a klogd — ядра.
5.8.1. Демон Syslogd
Демон syslogd (system logging-deamon) обеспечивает вид протоколирования, который поддерживается большинством программ. При этом демон syslogd пишет сообщения в файл /var/log/syslog. Записи в этом файле обычно содержат такие поля: дата и время, хост, программа, сообщение. Пример этого файла представлен ниже:
Например, из предпоследней записи мы можем узнать, что 27-го января 2002 года в 17:12 произошла смена носителя в устройстве fd, о чем нам любезно сообщило ядро системы (запись «программа» — kernel). А носитель (дискета) оказался подпорченным, о чем свидетельствует следующая запись — ошибка ввода/вывода (I/O error, dev 02:00 (floppy), sector 0).
Демон syslogd запускается автоматически при старте системы. Для его запуска предназначен сценарий /etc/rc.d/init.d/syslog. Как обычно, запустить демон самостоятельно вы можете с помощью команды: /etc/rc.d/init.d/syslog start, а остановить — /etc/rc.d/init.d/syslog stop. Для обеспечения автоматической загрузки нужно создать символическую ссылку на этот файл, например:
В этом случае вы обеспечите запуск демона на пятом уровне запуска (автоматический запуск X Window). Если вы используете Linux Mandrake, включить и отключить автоматический запуск вы можете с помощью команды drakxservices. При использовании Linux Red Hat включите автозапуск демона с помощью конфигуратора setup. Демон syslogd можно запускать с опциями, указанными в табл. 5.7.
В табл. 5.7 указаны не все опции демона. Назначение всех остальных опций вы можете найти в справочной системе, введя команду man syslogd.
Опции демона syslogd Таблица 5.7
Опция | Описание |
---|---|
– а сокет | Этот параметр позволяет указать дополнительный сокет, который syslogd должен прослушивать |
– d | Включает режим отладки. В этом режиме демон не будет использовать системный вызов fork(2) для переключения себя в фоновый режим и будет выводить больше отладочной информации |
– f файл | Этот параметр определяет альтернативный файл конфигурации |
– h | По умолчанию демон не перенаправляет сообщения, которые он получает от других узлов. Этот параметр позволяет перенаправить сообщения другим хостам, которые определены |
– n | Этот параметр нужен, если syslogd запускается и контролируется программой init |
– р сокет | Позволяет задать другой сокет Unix вместо /dev/log |
– r | Позволяет принимать сообщения из сети. Данная опция появилась в версии syslogd 1.3 |
– v | Выводит версию демона syslogd |
5.8.2. Сигналы
Демон syslogd реагирует на следующие сигналы: SYGTERM, SIGINT, SIGQUIT, SIGHUP, SIGUSR1, SIGCHLD. Реакция демона на сигналы описана в табл. 5.8.
Реакция демона на сигналы Таблица 5.8
Сигнал | Реакция |
---|---|
SIGTERM | Завершает работу демона |
SIGINT, SIGQUIT | Завершает работу демона, если выключена отладка (debugging), Если же отладка включена, эти сигналы игнорируются |
SIGUSR1 | Включает или выключает отладку |
SIGHUP | Перезапуск демона |
5.8.3. Файл конфигурации
По умолчанию используется файл конфигурации /etc/syslog.conf. Кроме этого вы можете указать другой файл конфигурации с помощью опции –f. Давайте рассмотрим установки демона на примере обычного файла конфигурации (см. листинг 5.4).