Вход в систему Linux. Большинство системных программ используют для вывода результатов своей работы службу syslog. Демон syslog ждет сообщений, и в зависимости от типа полученного сообщения, проводит вывод в файл, на экран, пользователям, по-разному комбинирует эти возможности или игнорирует.
Системный регистратор — это одна из самых важных частей системы. Когда возникают какие-либо неполадки, и вы не знаете с чего начать, вам следует сначала проверить систему регистрации файлов. Вот образец сообщения регистрационного файла:
Aug 19 17:59:48 duplex sshd[484]: Server listening on 0.0.0.0 port 22.
Большинство версий Linux используют каталог /var/log, чтобы хранить регистрационные файлы, но вы можете точно убедиться в том где какие сообщения хранятся, просмотрев /etc/syslog.conf, файл настроек syslog. Он содержит строки вроде этих:
kern.* /dev/console
*.info;authprivacy /var/log/messages
authpriv.* /var/log/secure,root
mail.* /var/log/maillog
cron.* /var/log/cron
*.emerg *
local7.* /var/log/boot.log
Тип регистрируемой информации расположен слева, а место, где она зарегистрирована — справа. Большинство целей регистрации в этом примере — это обычные файлы, но есть и несколько исключений:
/dev/console — это особое устройство для системной консоли;
root значит, что надо послать сообщение суперпользователю, если этот пользователь зарегистрирован;
* означает, что надо послать сообщение всем пользователям работающим сейчас в системе.
Вы также можете послать сообщения на другой хост при помощи Ghost.
Регистрационные сообщения переносят средство (facility) и приоритет (priority). Средство — это главная категория сообщений (подтверждение ищите в руководстве syslog.conf пункт 5) для просмотра списка всех средств. Большинство из них можно определить только по их имени (например, mail).
Предыдущий пример с syslog.conf перехватывает сообщения содержащие средства authpriv, mail, cron и lосаl. В строке 6 знак * это групповой символ, который перехватывает вывод, относящийся ко всем средствам.
В файле syslog.conf приоритет следует за точкой (.) после средства. Приоритет будет задан одним из следующих параметров: debug (т.е. отладка), info (информационный), notice, warning (внимание!), err, crit, alert (тревога), или emerg. Приоритеты расположены по порядку, наивысшим является emerg.
Вы можете исключать регистрационные сообщения из средств в syslog.conf путем определения приоритета none, как показано во второй строке предыдущего примера.
Очень важно понять, что когда вы введете определенный приоритет в строку syslog.conf, syslog будет отсылать сообщения с этим приоритетом и всеми более высокими приоритетами к пункту назначения этой строки.
Следовательно, в предыдущем примере файл *.inf на самом деле перехватывает большинство сообщений syslog и помещает их в /var/log/messages потому что info это очень низкий приоритет. Вы можете перехватывать все приоритеты, воспользовавшись * как групповым символом.
Еще один демон под названием klogd задерживает сообщения ядра и (обычно) посылает их в syslog. Вы можете захотеть направлять сообщения ядра в отдельный файл при помощи строки в вашем syslog. conf вроде этой:
kern.* /var/log/kern.log
Если вы хотите послать регистрационное сообщение службе syslog вручную (например при написании сценария), воспользуйтесь командой logger, как показано в примере:
logger -p daemon.info something bad just happened
С syslog практически ничего не может случиться. Наиболее распространенная проблема это когда syslog.conf не может перехватить определенное средство или приоритет.
Другая проблема заключается в том, что регистрационные файлы приобретают тенденцию переполнять свой сегмент диска через какое-то время. Однако, большинство версий автоматически приводят в порядок файлы в /var/log с помощью автоматических вызовов logrotate или каких-нибудь других утилит.
Linux syslog имеет несколько больше особенностей, чем его аналоги в других вариантах Unix. Это описание раскрывает только основы, которые применимы к большинству систем Unix. Если вам это действительно интересно, или в вашем файле настроек есть какая-то строка, значение которой вы не можете объяснить, просмотрите страницу руководства syslog.conf (5).
Быстрый взгляд на /etc
Большинство файлов настроек Linux находятся в /etc, и из-за того, что в системе Unix так много пакетов (*здесь имеется в виду программный продукт, представляющий собой набор связанных с ним дополнительных программ и утилит, предназначен для конкретного вида работ, например пакет для векторной графики и т.д.), /etc быстро накапливает файлы. Из-за этого ей довольно трудно понять, что действительно представляет ценность для работающей системы.
Утилиты getty и login
getty, программа, которая прилагается к терминалу и показывает приглашение входа в систему. На большинстве систем Linux getty упрощена, потому что система использует ее только для имен пользователей на виртуальных терминалах, со строками в /etc/inittab похожими на вот эту для /dev/tty1:
l:2345:respawn:/sbin/getty 38400 tty1
В этом примере, 38400 это скорость двоичной передачи. Виртуальные терминалы игнорируют ее; она указана здесь только для обратной совместимости с терминалами, соединенными с реальными последовательными линиями. Некоторые программы getty (вроде mingetty, которую использует Red Наt Linux для виртуальных терминалов) не нуждаются в установке частоты двоичной передачи.
Возможно, вас более интересует имя файла, которое печатает getty как приветствие регистрационного имени: /etc/issue. Это быстрый и вполне подходящий способ сконфигурировать вашу систему, не причиняя при этом никакого реального ущерба.
После того, как вы введете ваше регистрационное имя, getty заменит себя на программу login, которая затем спросит ваш пароль. Если вы введете правильный пароль, login заменит себя на вашу оболочку. В противном случае, вы получите сообщение: Login incorrect (неверное регистрационное имя).
Теперь вы знаете, что делают login и getty, но скорее всего, вам не придется когда-либо их изменять, потому что терминалы на последовательных портах по большей части выброшены на свалку истории.
Программа login обладает чрезмерным количеством опций и файлов настроек, но они по большей части бесполезны, потому что они работают с методами безопасности сетевых регистрационных имен, таких как telnet, который, к тому же, небезопасен. Далее вы узнаете, что вам не следует их использовать и почему.
Если вы хотите отсылать и получать факсы или набирать номер на вашей машине через собственный модем, вам нужно будет познакомиться с mgetty, продвинутой версий getty, которая может работать с факсом и голосовыми модемами.