SAMS2 Приложения

Оглавление

Приложение 1. Описание таблиц и полей в БД

Список таблиц

websettings Настройки WEB интерфейса.
timerange Временные диапазоны.
sconfig Сопоставление списков URL с шаблонами.
redirect Списки URL.
sconfig_time Сопоставление временных диапазонов с шаблонами.
proxy Настройки прокси сервера.
passwd Пользователи - администраторы. В таблице содержится логин и пароль пользователя-администратора SAMS. В SAMS2 права на администрирование SAMS можно задать для любого пользователя.
shablon Шаблоны пользователей.
samslog Протокол событий SAMS2.
sgroup Группы пользователей.
reconfig Команды демону из WEB интерфейса.
url Содержание группы URL адресов.
squiduser Пользователи.
squidcache Подробная информация о трафике пользователей.
cachesum Суммарная информация о трафике пользователей за однодневный период.
auth_param Параметры различных способов авторизации.


Таблица websettings – Настройки WEB интерфейса.
Имя поля Тип поля Параметры Значение по умолчанию Описание
s_lang varchar(15) NOT NULL EN Язык.
s_iconset varchar(25) NOT NULL classic Набор иконок.
s_useraccess smallint NOT NULL 1 Предоставлять или нет доступ обычным пользователям.
s_urlaccess smallint NOT NULL 1 Показывать или нет обычным пользователям списки интернет ресурсов.
s_showutree smallint NOT NULL 1 Показывать или нет дерево пользователей.
s_showname varchar(5) NOT NULL nick В каком виде отображать имена пользователей. Значение представляет собой набор полей из таблицы squidsuser, перечисленных через пробел.
s_showgraph smallint NOT NULL 0 Показывать или нет графики.
s_createpdf varchar(6) NOT NULL NONE Каким образом создавать отчеты в pdf файлы.
  • none – не создавать
  • fpdf – использовать fpdf
  • pdflib – использовать pdflib
  • s_version char(5) NOT NULL 2.0 Версия базы данных. Должна изменятся при малейшем изменении структуры.


    Таблица timerange – Временные диапазоны.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_trange_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_name varchar(25)
    NULL Имя.
    s_days varchar(14)
    NULL Дни недели.
    s_timestart time NOT NULL
    Начало периода.
    s_timeend time NOT NULL
    Окончание периода.


    Таблица sconfig – Сопоставление списков URL с шаблонами.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_shablon_id
    SERIAL PRIMARY KEY
    Идентификатор шаблона из таблицы shablon
    s_redirect_id int
    NULL Идентификатор списка из таблицы redirect


    Таблица redirect – Списки URL.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_redirect_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_name varchar(25)
    NULL Название списка
    s_type varchar(25)

    Тип списка:
  • redir – блокировка баннеров
  • denied – доступ запрещен
  • allow – доступ разрешен
  • files – расширения файлов
  • replace – перенаправление на другой URL
  • s_dest varchar(128)
    NULL Адрес перенаправления для s_type=replace


    Таблица sconfig_time – Сопоставление временных диапазонов с шаблонами.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_shablon_id int

    Идентификатор шаблона из таблицы shablon
    s_trange_id int
    NULL Идентификатор временной границы из таблицы timerange


    Таблица proxy – Настройки прокси сервера.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_proxy_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_description varchar(100)
    Proxy server Описание прокси сервера.
    s_endvalue bigint NOT NULL 0 Смещение в файле access.log, с которого начинается обработка.
    s_redirect_to varchar(100)
    http://your.ip.addr.. Путь к файлу перенаправления запроса.
    s_denied_to varchar(100)
    http://your.ip.addr.. Путь к каталогу где лежат файлы запрета запроса.
    s_redirector varchar(25)
    NONE Какой используется редиректор. Возможные значения:
  • none – не использовать редиректор
  • sams – встроенный редиректор
  • rejik – внешний редиректор rejik
  • squidquard – внешний редиректор squidguard
  • s_delaypool smallint
    0 Устарело и более не используется. Использовать или нет ограничение скорости канала (shablon.s_shablonpool и shablon.s_userpool).
    s_auth varchar(4)
    ip Тип авторизации в системе по умолчанию. Непонятно когда используется. По умолчанию значит если где-то не указано, а где может быть не указано?
    s_wbinfopath varchar(100)
    /usr/bin Путь к wbinfo.
    s_separator varchar(15)
    + Разделитель домена и имени пользователя. Обычно + или \ или @
    s_usedomain smallint
    0 Использовать или нет домен при создании acl файлов.
    s_bigd

    smallint


    0 Как записывать домен при создании acl файлов.
  • 0 – DOMAIN
  • 1 – domain
  • 2 – Domain
  • s_bigu smallint
    0 Как записывать пользователя при создании acl файлов.
  • 0 – USER
  • 1 – user
  • 2 – User
  • s_sleep smallint
    1 Время (секунды) через которое samsdaemon опрашивает БД насчет команд.
    s_parser smallint
    0 Выбор обработчика значений.
  • 0 – не обрабатывать логи
  • 1 – раз в промежуток времени
  • 2 – постоянный (устарел и не используется)
  • s_parser_time smallint
    1 Промежуток времени (минуты) через которое запускается обработчик логов. Используется если s_parser=1
    s_count_clean smallint
    0 Очищать или нет счетчики пользователей при окончании периода лимита в шаблонах.
    s_nameencode smallint
    0 Перекодировать или нет имена пользователей при их записи в ACL.
    s_realsize varchar(4)
    real Тип учитываемого трафика.
  • real – реально полученный пользователем
  • full – весь трафик, включая и кэш
  • s_checkdns smallint
    0 Преобразовывать или нет имена в IP адреса при обработке логов.
    s_debuglevel smallint
    0 Уровень отладки. Возможные значения:
  • 1 –
  • 2 –
  • 3 –
  • 4 –
  • 5 –
  • 6 –
  • 7 –
  • 8 –
  • 9 – Показывать работу вспомогательных функций
  • s_defaultdomain char(25)
    WORKGROUP Домен по умолчанию.
    s_squidbase smallint
    0 Количество месяцев, за которые сохранять данные о трафике в базе.
    s_udscript varchar(100)
    NONE Скрипт, выполняемый при отключении пользователя.
    s_adminaddr varchar(60)
    root@localhost Адрес администратора.
    s_kbsize varchar(15) NOT NULL 1024 Размер килобайта в байтах.
    s_mbsize varchar(15) NOT NULL 1048576 Размер мегабайта в байтах.
    s_ldapserver varchar(30)
    0.0.0.0 Имя или адрес LDAP сервера.
    s_ldapbasedn varchar(50)
    workgroup Домен.
    s_ldapuser varchar(50)
    Administrator Пользователь - администратор домена.
    s_ldappasswd varchar(50)
    0 Пароль администратора.
    s_ldapusergroup varchar(50)
    Users Группа.


    Таблица passwd – Администраторы и аудиторы.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_user varchar(25) PRIMARY KEY
    Имя администратора или аудитора. Первичный ключ таблицы.
    s_pass varchar(60) NOT NULL
    Пароль (хэш).
    s_access smallint NOT NULL 0 Код доступа. Возможные значения:
  • 1 – администратор
  • 2 – аудитор
  • s_autherrorc smallint
    0 Счетчик неверных авторизаций. После 3х неверно введенных паролей счетчик обнуляется и доступ в веб интерфейсе блокируется на 1 минуту. При верно введенном пароле обнуляется.
    s_autherrort varchar(16)
    0 Время когда пользователь сможет войти в веб интерфейс. Имеет смысл если s_autherrorc > 0.


    Таблица shablon – Шаблоны пользователей.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_shablon_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_name varchar(25)
    NULL Имя шаблона.
    s_shablonpool bigint
    0 Ограничение скорости всего шаблона.
    s_userpool bigint
    0 Ограничение скорости пользователя шаблона.
    s_auth varchar(4)
    ip Тип авторизации пользователей шаблона. Возможные значения:
  • ip – по IP адресу
  • ncsa – по имени/паролю
  • ntlm – в домене Windows
  • adld – в ActiveDirectory
  • ldap – в OpenLDAP
  • s_quote int
    100 Ограничение трафика пользователя шаблона. В мегабайтах.
    s_period varchar(3)
    M Период ограничения трафика. Возможные значения:
  • M – месяц
  • W – неделя
  • D - день
  • число – количество дней
  • s_clrdate date
    1980-01-01 Дата следующей очистки счетчиков трафика. Используется только при нестандартном периоде ограничения.
    s_alldenied smallint
    0 Признак что доступ запрещен везде. Используется для разрешения доступа только к ресурсам из списка allow.
    s_shablon_id2 int
    NULL Идентификатор вторичного шаблона. Если не NULL и не -1, то вместо блокировки, пользователи переводятся во вторичный шаблон до тех пор, пока не произойдет очистка счетчиков у вторичного шаблона или пока пользователь не превысит лимит вторичного шаблона.


    Таблица samslog – Протокол событий SAMS2.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_log_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_issuer varchar(50) NOT NULL
    Автор события. Возможные значения: sams, samsf, samsdaemon или имя пользователя, авторизовавшегося в web интерфейсе.
    s_date date NOT NULL
    Дата события.
    s_time time NOT NULL
    Время события.
    s_value varchar(60) NOT NULL
    Описание события.
    s_code char(2) NOT NULL
    Код. Предназначен для просмотра в web интерфесе
  • 1 - события связанные с пользователями (добавление, удаление, отключение)
  • 2- события связанные со списками URL (добавление, удаление URL)
  • 4 - события связанные с администраторами SAMS
  • 10 - события, связанные с демонами (samsdaemon, samsf и т.п.)


  • Таблица sgroup – Группы пользователей.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_group_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_name varchar(25)
    NULL Название группы.


    Таблица reconfig – Команды демону из WEB интерфейса.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_proxy_id int

    Идентификатор прокси сервера из таблицы proxy.
    s_service varchar(15)
    NULL Служба, которой выдается команда
    s_action varchar(10)
    NULL Команда для службы.

    Поддерживаются следующие пары значений s_service/s_action:

  • proxy/shutdown – Выполняется команда SHUTDOWNCOMMAND из файла sams2.conf.
  • samsdaemon/shutdown – Завершается работа демона samsdaemon.
  • samsdaemon/reload – Обновляются настройки и данные из файла sams2.conf и базы данных.
  • squid/reconfig – Обновляются настройки и данные из файла sams2.conf и базы данных, обновляется конфигурационный файл squid с последующим его перезапуском
  • database/export – Содержимое таблицы squidcache записывается во внешний файл. Используется только для тестов(!)


  • Таблица url – Содержание группы URL адресов.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_url_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_redirect_id int

    Идентификатор списка из таблицы redirect.
    s_url varchar(132)

    URL, его часть или регулярное выражение. Зависит от значения s_type.


    Таблица squiduser – Пользователи.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_user_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_group_id int

    Идентификатор группы из таблицы group.
    s_shablon_id int

    Идентификатор шаблона из таблицы shablon.
    s_nick char(50)
    NULL Логин.
    s_family char(50)
    NULL Фамилия.
    s_name char(50)
    NULL Имя.
    s_soname char(50)
    NULL Отчество.
    s_domain char(50)
    NULL Домен.
    s_quote int NOT NULL 0 Ограничение трафика в мегабайтах. При значении -1 используется значение shablon.s_quote.
    s_size bigint NOT NULL 0 Общий объем использованного трафика в байтах.
    s_hit bigint NOT NULL 0 Объем трафика из кэша в байтах.
    s_enabled smallint
    1 Статус активности.
  • -1 – отключен администратором.
  • 0 – отключен за превышение трафика.
  • 1 – активный.
  • 2 – переведен в другой шаблон за превышение трафика.
  • s_ip char(15)

    IP адрес пользователя. Используется вместо s_nick если shablon.s_auth=ip.
    s_passwd varchar(20)

    Пароль на доступ (хэш). Используется если shablon.s_auth=ncsa.
    s_gauditor smallint
    0 Устарело и более не используется. Может или нет смотреть трафик своей группы.
    s_autherrorc smallint
    0 Счетчик неверных авторизаций. После 3х неверно введенных паролей счетчик обнуляется и доступ в веб интерфейсе блокируется на 1 минуту. При верно введенном пароле обнуляется.
    s_autherrort varchar(16)
    0 Время когда пользователь сможет войти в веб интерфейс. Имеет смысл если s_autherrorc > 0.
    s_webaccess varchar(16)
    W Права доступа в веб интерфейсе. Набор символов, каждый из которых отвечает за свой уровень доступа.
  • W – Имеет право смотреть свою статистику.
  • G – Имеет право смотреть статистику пользователей своей группы
  • S – Имеет право смотреть статистику Всех пользователей
  • A – Имеет право активировать/отключать пользователей
  • U – Имеет право добавлять пользователей в SAMS
  • L – Имеет право изменять списки URL
  • C – Имеет право настраивать SAMS


  • Таблица squidcache – Подробная информация о трафике пользователей.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_cache_id
    SERIAL PRIMARY KEY
    Первичный ключ таблицы.
    s_proxy_id int

    Идентификатор прокси сервера из таблицы proxy.
    s_date date NOT NULL 1980-01-01 Дата.
    s_time time NOT NULL 00:00:00 Время.
    s_user varchar(50)

    Пользователь.
    s_domain varchar(50)
    NULL Домен.
    s_size int NOT NULL 0 Размер ресурса.
    s_hit int NOT NULL 0 Размер ресурса из кэш.
    s_ipaddr varchar(15) NOT NULL
    IP адрес, откуда был запрос.
    s_period int
    0 Время ожидания прокси сервера.
    s_method char(15) NOT NULL
    Метод ответа squid. Подробнее смотрите информацию по squid, секцию Cache Result.
    s_url varchar(150) NOT NULL
    Адрес ресурса.


    Таблица cachesum – Суммарная информация о трафике пользователей за однодневный период.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_proxy_id int NOT NULL
    Идентификатор прокси сервера из таблицы proxy.
    s_date date NOT NULL 1980-01-01 Дата.
    s_user varchar(50) NOT NULL
    Пользователь.
    s_domain varchar(50)

    Домен.
    s_size bigint NOT NULL 0 Общий объем трафика пользователя (в байтах) за 1 день с указанного прокси.
    s_hit bigint NOT NULL 0 Объем трафика пользователя из кэша (в байтах) за 1 день с указанного прокси.


    Таблица auth_param – Параметры различных способов авторизации.
    Имя поля Тип поля Параметры Значение по умолчанию Описание
    s_auth varchar(4)

    Тип авторизации. Возможные значения:
  • ip – по IP адресу
  • ncsa – по имени/паролю
  • ntlm – в домене Windows
  • adld – в ActiveDirectory
  • ldap – в OpenLDAP
  • s_param varchar(50)


    s_value varchar(50)




    Дополнительно создаются индексы:
    CREATE UNIQUE INDEX idx_squidcache on squidcache ( s_user, s_proxy_id );
    CREATE UNIQUE INDEX idx_cachesum on cachesum ( s_proxy_id, s_date, s_user, s_domain );
    CREATE UNIQUE INDEX idx_squiduser on squiduser ( s_nick, s_name, s_shablon_id, s_group_id );
    CREATE UNIQUE INDEX idx_samslog on samslog ( s_code, s_issuer );
    CREATE UNIQUE INDEX idx_url on url ( s_redirect_id, s_url );


    Оглавление