2.3.3 Система журналирования
Система журналирования обеспечивает запись в журнальный файл ключевых событий, происходящих во время работы сервера. В журнал событий записывается информация о следующих событиях:
· Старт сервера - с указанием адреса и порта привязки.
· Входящее подключение - с указанием адреса клиента.
· Авторизация клиента.
· Запрос модуля.
· Сообщения о разнообразных ошибках в работе сервера.
Система журналирования самостоятельно генерирует имя файла на основании текущей даты: журнальные файлы имеют имена вида dd-mm-yyyy.log.
Для защиты своих статических данных система использует мьютекс (см. п. 3.2.2), что приводит к монополизации доступа потоков к системе. Это может несколько замедлить работу, однако разработанное приложение не является критичным ко времени, поэтому возникающие задержки вполне допустимы.
Система безопасности служит для проверки возможности доступа клиента к каким-либо модулям сервера.
Система безопасности может функционировать в двух режимах:
· Режим проверки доступа - сервер передает системе имя пользователя и пароль, которые она пытается найти в файле учетных записей. В случае нахождения совпадения доступ предоставляется, в противном - не предоставляется.
· Режим предоставления доступа - в этом случае доступ предоставляется для всех клиентов независимо от указанных имени и пароля. Используется только для тестирования сервера.
Режим работы системы и адрес файла с учетными записями могут быть заданы в конфигурационном файле.
Система безопасности, как и система журналирования, использует мьютекс (см. п. 3.2.2) для защиты доступа к своим статическим переменным.
- 1. Исследовательский раздел
- 1.1 Постановка задачи
- 1.2 Передача данных
- 1.2.1 Протоколы передачи данных
- 1.3 Системная информация ОС Linux
- 1.3.1 Расположение системной информации
- 1.3.2 Файловая система /proc
- 2. Технологический раздел
- 2.1 Выбор языка программирования
- 2.2. Программные средства
- 2.2.2 Семафоры и мьютексы
- 2.3 Структура модулей программы
- 2.3.1 Система инициализации
- 2.3.2 Сервер и система управления динамическими библиотеками
- 2.3.3 Система журналирования
- 2.4 Динамические библиотеки
- 2.4.1 PROCESSES - информация о процессах
- 2.4.2 MEMINFO - информация о системной памяти
- 2.4.3 DISKFREE - информация о свободном месте на дисках
- 2.4.4 NETWORK - информация о сетевых устройствах
- 2.4.5 VERSION - версия операционной системы
- 2.4.6 INDEX - страница помощи
- 2.5 Использование программы
- 2.5.1 Настройка сервера
- 2.5.2 Доступ к серверу
- 2.5.3 Завершение работы сервера