Таблицы базы данных

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку

admin - данные администраторов

 id         : id администратора
 login      : логин администратора
 passwd     : зашифрованный пароль
 name       : имя
 post       : id в таблице users.  Т.е администратор может иметь учетную запись в users
 privil     : через запятую привилегии
 usr_grps   : через запятую id групп, к которым есть доступ
 tunes      : настройки
 ext        : пока не используется
 balance    : баланс

Привилегии задаются в виде списка чисел, разделенных запятыми. Каждое число указывает на то, что соответствующая ему привилегия включена. Список соответствий число=привилегия можно узнать из файла /usr/local/nodeny/web/lang/RU_admin.pl.

Списки привилегий и групп клиентов обязательно начинаются и заканчиваются запятыми.

Баланс - сумма всех платежей, которые оформил данный админ клиентам как «наличный платеж».

auth_now - текущие авторизации

 id         : автоинкрементное поле
 ip         : ip клиента в текстовом виде
 start      : timestamp начала авторизации
 last       : timestamp последнего подтверждения авторизации
 properties : дополнительные параметры

Модули авторизации устанавливают начало авторизации в start, после чего с каждым подтвержденным запросом авторизации модифицируют поле last текущим временем. Ядро NoDeny удаляет записи, у которых last не модифицировалось в последние xx секунд, т.е. удаляет записи «по таймауту».

properties хранит параметры авторизации, разделенные «;». Обязательный параметр mod - модуль, которым была осуществлена авторизация. «mod=dhcp;user=000cdbdff588» - мак клиента 00:0c:db:df:f5:88.


auth_log - лог авторизаций

 id         : автоинкрементное поле
 uid        : id клиента
 ip         : ip клиента (unsigned int)
 start      : начало сессии (timestamp)
 end        : конец сессии (timestamp)
 properties : дополнительные параметры

Когда клиент перестает быть авторизованным, ядро удаляет запись из таблицы auth_now и создает запись в auth_log, при этом параметр properties копируется из auth_now в auth_log

ip_pool - пул ip адресов

 id         : уникальный id записи
 ip         : ip (unsigned int)
 type       : тип ip (статический, динамический, зарезервирован)
 realip     : флаг «реальный ip»
 release    : timestamp освобождения, если ip динамический
 uid        : id клиента
 tags       : теги

Если ip не привязан ни к какому клиенту, то uid = 0. Если ip статический, то он привязывается клиенту навсегда, вернее, до того момента, пока администратор не отвяжет его.

Динамический ip привязывается клиенту во время первой авторизации, после чего устанавливается поле release на пару минут в будущее. Каждое обновление авторизации отодвигает release в будущее. По окончанию авторизации, когда release станет большим текущего времени, поле uid устанавливается в 0.

Теги - текстовые метки через запятую.