Файлы протоколов
работы (log-files).
UNIX хранит системные
протоколы в следующих файлах:
/var/log/utmp (/etc/utmp)
— запись о вашем текущем
присутствии в cистеме. Используется
программой who.
/var/log/wtmp (/usr/adm/wtmp)
— протокол всех вхождений в систему. Используется
программой last.
/var/log/lastlog (/usr/adm/lastlog)
— Дата последнего входа в систему каждого
пользователя. Выдается на экран программой login.
Это не текстовые
файлы и отредактировать их в vi
руками не получится. Для того, чтобы
стереть информацию о своём присутствии, надо
использовать специальную программу,
написанную для этих целей.
Пример такой программы
приведён в приложении 7.
Часто информация о входах
пользователей и о некоторых их действиях
(например запуск su) выдается на консоль
администратору и в системный лог, который
может называться /var/log/messages. Для модификации
этого файла можно воспользоваться редактором ed
или vi.
Программа CRON.
Cron — программа,
которая запускает другие задачи с
некоторой периодичностью. Описание этих задач и
времени их запуска хранятся в файлах в
двух директориях: /usr/lib и /usr/spool/cron.
Файл crontab в
директории /etc или /usr/lib описывает
системные задачи, которые надо запускать с
определённой периодичностью. Формат этого
файла:
минуты часы день_месяца
месяц_года день_недели коммандная_строка
[0-59] [0-23] [1-31] [1-12] [1-7] [путь, аргументы]
Пример строки из
crontab:
0 1 * * * /bin/sync
Это значит, что надо запускать
команду sync, содержащуюся в директории /bin в
час ночи каждый день. Команды выполняемые из
/usr/lib/crontab получают привилегии root (UID =
0).
В каталоге
/usr/spool/crontabs, содержатся файлы имеющих
имена системных account’ов. Эти файлы содержат поля,
сходные с содержащимися в файле /usr/lib/crontab, но
команды из этих полей выполняются с ID
пользователя с именем, соответствующим имени
этого файла. Формат полей аналогичен.
Обычно с помощью
утилиты cron запускаются программы,
проверяющие целостность системы:
проверяются длинна и/или
контрольные суммы файлов, наличие
в системе пользователей с UID = 0, и
т.д. О всех подозрительных явлениях пишется
письмо root’у. При модификации файлов cron
пишется протокол в файл /usr/adm/cronlog.
В некоторых системах,
например во FreeBSD существуют командные
файлы /etc/daily, /etc/weekly и /etc/monthly. /etc/daily
запускается cron’ом ежедневно в 2:00am
и сравнивает информацию выдаваемую по
команде ls -laT для всех suid’ных файлов с
информацией предыдущего дня.
Иными словами /etc/daily
сравнивает /var/log/setuid.today и
/var/log/setuid.yesterday. О всех
изменениях посылаются письмо
администратору. Так что, если вы изменили или
добавили какой-нибудь SUID’ный файл, не
забудьте сделать соответствующие
изменения в этих двух файлах.