КС:2015:Проект:FileIntegrity
Содержание
Что это за проект
Введение
Системы контроля целостности необходимы для обнаружения не авторизованных изменений. В данном случае предлагает разработать систему контроля целостности файлов находящихся в файловой системе.
Что требуется
Написать программу , которая будет формировать базу с контрольными суммами файлов находящихся по заданным путям и проверять, что контрольные суммы файлов не изменились.
Чему вы научитесь (помимо разработки очередного велосипеда)
1. Работе с файлами
2. Основам параллельного программирования
3. Основам программирования под UNIX (GNU/Linux)
4. Напишите модуль ядра Linux
Начальные требования
1. Умение разрабатывать программы на Cи или C++
Критерии оценивания
Требования на зачет в конце 1-го модуля
Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути файла: есть или нет этот файл в базе и соответствует ли контрольная сумма.
Итоговая оценка
- 4 балла. Требования на зачет в первом модуле и дополнительно реализованы
возможности: добавления в базу новых файлов, обновлений контрольных сумм старый и проверка по все базе.
- 6 баллов. Программа реализована в виде демона, который осуществляет
проверку по заданному расписанию с записью результатов в лог.
- 8 баллов. Реализован модуль ядра, который перехватывает открытие файла
на запись с последующей проверкой по его закрытию контрольной суммы.
- +1 балл. Уведомление по сети (email, jabber и тп).
- +1 балл. Поддержать регулярный выражения в путях.
- +2 балла. Перехватывание манипуляций с файлом.
- +2 балла. Контроль за атрибутами файла.
- +2 балла. Многопоточный демон.