КС:2015:Проект:FileIntegrity — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(spelling)
м
 
(не показаны 2 промежуточные версии этого же участника)
Строка 3: Строка 3:
 
=== Введение ===
 
=== Введение ===
 
Системы контроля целостности необходимы для обнаружения неавторизованных изменений.
 
Системы контроля целостности необходимы для обнаружения неавторизованных изменений.
В  данном случае предлагает разработать систему контроля целостности файлов, находящихся в файловой системе.
+
В  данном случае предлагается разработать систему контроля целостности файлов, находящихся в файловой системе.
  
 
=== Что требуется ===
 
=== Что требуется ===
Строка 24: Строка 24:
 
== Критерии оценивания ==
 
== Критерии оценивания ==
  
=== Требования на зачет в конце 1-го модуля ===
+
=== Первая контрольная точка (24 октября 2015 г.) ===
 +
 
 +
Необходимо иметь репозиторий с проектом, в который приглашен ментор. В
 +
репозитории должно быть:
 +
 
 +
* Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
 +
* Реализованы как минимум следующие функции: подсчет контрольной суммы файла по заданному пути, сохранение результата, проверка контрольной суммы
 +
* Проектный файл CMakeLists.txt
 +
 
 +
=== Вторая контрольная точка (21 ноября 2015 г.) ===
 
Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути
 
Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути
 
файла: есть или нет этот файл в базе, и соответствует ли контрольная сумма.
 
файла: есть или нет этот файл в базе, и соответствует ли контрольная сумма.

Текущая версия на 15:39, 13 ноября 2015

Что это за проект

Введение

Системы контроля целостности необходимы для обнаружения неавторизованных изменений. В данном случае предлагается разработать систему контроля целостности файлов, находящихся в файловой системе.

Что требуется

Написать программу , которая будет формировать базу с контрольными суммами файлов, находящихся по заданным путям, и проверять, что контрольные суммы файлов не изменились.


Чему вы научитесь (помимо разработки очередного велосипеда)

1. Работе с файлами.

2. Основам параллельного программирования.

3. Основам программирования под UNIX (GNU/Linux).

4. Напишите модуль ядра Linux.

Начальные требования

1. Умение разрабатывать программы на Cи или C++

Критерии оценивания

Первая контрольная точка (24 октября 2015 г.)

Необходимо иметь репозиторий с проектом, в который приглашен ментор. В репозитории должно быть:

  • Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
  • Реализованы как минимум следующие функции: подсчет контрольной суммы файла по заданному пути, сохранение результата, проверка контрольной суммы
  • Проектный файл CMakeLists.txt

Вторая контрольная точка (21 ноября 2015 г.)

Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути файла: есть или нет этот файл в базе, и соответствует ли контрольная сумма.

Итоговая оценка

  • 4 балла. Требования на зачет в первом модуле и дополнительно реализованы возможности: добавления в базу новых файлов, обновлений контрольных сумм старых и проверка по всей базе.
  • 6 баллов. Программа реализована в виде демона, который осуществляет проверку по заданному расписанию с записью результатов в лог.
  • 8 баллов. Реализован модуль ядра, который перехватывает открытие файла на запись с последующей проверкой по его закрытию контрольной суммы.
  • +1 балл. Уведомление по сети (email, jabber и т.п.).
  • +1 балл. Поддержка регулярного выражения в путях.
  • +2 балла. Перехватывание манипуляций с файлом.
  • +2 балла. Контроль за атрибутами файла.
  • +2 балла. Многопоточный демон.