
Лабораторная работа № 1
Пример файла аудита
Файл аудита – файл, содержащий записи о действиях пользователей в системе, каждая запись которого удовлетворяет следующему образцу:
<метка_времени>{табуляция}
<имя_пользователя>{табуляция}
<тип_записи>[{табуляция}<имя_файла>]
{конец_строки}
Метка времени содержит дату и время регистрации действия.
Тип записи может принимать следующие значения:
login – вход пользователя в систему.
logout – выход пользователя из системы.
open – открытие файла.
read – чтение содержимого файла.
write – изменение содержимого файла.
exec – исполнение файла.
Поле имени файла определено только для записей типа open, read, write, exec.
Журнал может содержать следующую последовательность записей:
…
10.10.2002\t17:00:00:000\tuser\tlogin\n
10.10.2002\t17:00:03:750\tuser\tread\t/home/user/file1\n
10.10.2002\t17:00:10:950\tuser\tlogout\n
…
Ответить на поставленные контрольные вопросы:
что такое командный язык и его предназначение?
для чего служат конструкции $#, $* и &&?
каково назначение утилит telnet и ftp?
Написать скрипт на языке shell, вычисляющий текущее количество процессов, выполняющих программу с определенным именем (имя исполняемого файла должно являться параметром скрипта), и потом, в случае возможности завершения этих процессов, завершает их.
Написать скрипт на языке shell, выполняющий периодический поиск и уничтожение пустых каталогов с определенным именем (имя файла, каталоги поиска и период поиска должны являться параметрами скрипта). Например: каждые 23 мин. искать и удалять файлы с именем “ftpd???.log” из каталога временных файлов (“/usr/tmp”).
Разработать shell скрипт, использующий sed для анализа готового файла журнала аудита (формат файла приведен в примере)
Скрипт должен выполнять следующие действия:
сгруппировывать события по типу;
выводить статистику событий в журнале, а именно:
количество событий всего
количество событий в зависимости от пользователя
количество событий по дням;
удалять строки, содержащие определенное имя пользователя, которое передается параметром в скрипт.
5. Используя редактор SED и скриптовый язык SHELL, разработать программу, которая выводит на экран содержимое текущего каталога в алфавитном порядке. Каталоги не выводить.
Лабораторная работа № 2
Пример файла аудита
Файл аудита – файл, содержащий записи о действиях пользователей в системе, каждая запись которого удовлетворяет следующему образцу:
<метка_времени>{табуляция}
<имя_пользователя>{табуляция}
<тип_записи>[{табуляция}<имя_файла>]
{конец_строки}
Метка времени содержит дату и время регистрации действия.
Тип записи может принимать следующие значения:
login – вход пользователя в систему.
logout – выход пользователя из системы.
open – открытие файла.
read – чтение содержимого файла.
write – изменение содержимого файла.
exec – исполнение файла.
Поле имени файла определено только для записей типа open, read, write, exec.
Журнал может содержать следующую последовательность записей:
…
10.10.2002\t17:00:00:000\tuser\tlogin\n
10.10.2002\t17:00:03:750\tuser\tread\t/home/user/file1\n
10.10.2002\t17:00:10:950\tuser\tlogout\n
…