E-mail:
Пароль:
Забыли пароль?

Переменные среды окружения

В своей работе ядро и утилиты СУБД ЛИНТЕР используют переменные среды окружения, которые могут быть установлены средствами ОС до запуска СУБД ЛИНТЕР.

Для установки значения переменной среды окружения для сеанса консольного файлового менеджера необходимо выполнить в нем команду:

set <имя переменной>=<значение переменной>

Пример.

set SY00=C:/Linter/db/DEMO

При этом для применения значений переменных для утилит СУБД они должны запускаться в командном режиме в текущем сеансе консольного файлового менеджера.

В процессе работы СУБД ЛИНТЕР может использовать следующие переменные среды окружения:

  1. SY00 – значение переменной определяет путь до каталога основных файлов базы данных (файлов системных таблиц). По умолчанию в качестве значения переменной используется текущий каталог ОС. Этот путь может быть задан также из командной строки при запуске ядра;

  2. LINTER_EDIT – переменная, определяющая текстовый редактор, используемый для редактирования, например, SQL-запросов (в утилите inl);

    Примечание

    Используется утилитами СУБД ЛИНТЕР.

  3. LINTER_MBX – переменная, определяющая «имя почтового ящика» для обмена данными между ядром СУБД ЛИНТЕР и клиентскими приложениями. Под «почтовым ящиком» следует понимать некий межпроцессный механизм обмена между ядром ЛИНТЕР и приложением. Изменение значения этой переменной может быть использовано для запуска нескольких ядер на одном компьютере.

    Значение LINTER_MBX должно иметь строковый тип и быть уникальным для данного ядра СУБД ЛИНТЕР и приложений, работающих с этим ядром. Значение переменной должно быть строкового типа. По умолчанию "";

    Пример.

    1. в nodetab добавить строку:

      DemoDb LOCAL Demo
    2. в файловом менеджере, в котором будем запускать утилиты, выполнить команду:

      SET LINTER_MBX=Demo
    3. выполнить запуск ядра СУБД и сетевого драйвера клиента в файловом менеджере:

      C:\Linter\bin>linternt /local /base=C:\Linter\db\Demo
      C:\Linter\bin>dbc_tcp /local /ver=5
    4. запустить новую сессию файлового менеджера, выполнить п.2 и запустить утилиту командного интерфейса с подключением к БД DemoDb:

      inl -u SYSTEM/MANAGER -n DemoDb

      Успешный переход в интерактивный режим выполнения команд:

      SQL>

      является подтверждением успешного подключения к ядру СУБД;

    5. завершить утилиту командного интерфейса командой exit;

    6. завершить работу сетевого клиента: в сессии командного менеджера, в которой он запущен, нажать сочетание клавиш <Ctrl>+<C>;

    7. остановить ядро СУБД с помощью команды:

      shut -u SYSTEM/MANAGER
  4. LINTER_CP – определяет кодировку данного клиентского приложения. Ядро СУБД будет работать с этим приложением в кодировке, определяемой переменной LINTER_CP. Для разных приложений, даже на одной машине, могут быть заданы различные значения переменной LINTER_CP.

    СУБД ЛИНТЕР поддерживает однобайтовые, многобайтовые кодировки, UNICODE, UTF8, а также предоставляет возможность загрузить в БД кодировку, необходимую клиентской задаче. Переменная LINTER_CP может принимать значение любой кодировки, загруженной в БД (список кодировок хранится в системной таблице $$$CHARSET).

    Если значение переменной LINTER_CP не определено, то используется кодировка, соответствующая текущему значению locale.

    Для консольных утилит СУБД ЛИНТЕР используется кодировка по умолчанию 866, для графических утилит – 1251.

  5. NET_MBX – переменная аналогична по своему назначению переменной LINTER_MBX, но для сетевого клиента. Т.е. NET_MBX определяет «имя почтового ящика» для обмена данными между приложением и сетевым драйвером клиента. Значение по умолчанию: пустое.

    Примечание

    «Имя почтового ящика» формируется из предопределенного префикса и значения переменной NET_MBX. Поэтому даже если NET_MBX не определено, «имя почтового ящика» пустым не будет.

Переменные, используемые при LDAP-аутентификации

Возможны два режима LDAP-аутентификации:

  1. без предварительного поиска;

  2. с предварительным поиском.

Для успешной аутентификации парольная аутентификация по LDAP-протоколу через LDAP-сервер требуется наличие пользователя в БД ЛИНТЕР и в БД LDAP-сервера, при этом имя пользователя БД ЛИНТЕР должно соответствовать одному из атрибутов пользователя в БД LDAP-сервера (для аутентификации без предварительного поиска данный атрибут должен входить в состав уникального имени пользователя в БД LDAP-сервера). Кроме того, чтобы для режима LDAP-аутентификации с предварительным поиском не требовалось задавать DN и пароль пользователя с правами поиска, необходимо разрешение на анонимный поиск в LDAP-базе.

В режиме без предварительного поиска сначала идет подключение к серверу LDAP_SERVER и попытка выполнить соединение с уникальным именем, сформированным как LDAP_PREFIX<имя>LDAP_SUFFIX, где <имя> и пароль определяются соответствующими параметрами команды OPEN (см. документ «СУБД ЛИНТЕР. Интерфейс нижнего уровня»). Удачное соединение означает удачную идентификацию и аутентификацию.

В режиме с предварительным поиском сначала идет подключение к серверу LDAP_SERVER и попытка выполнить соединение со специальными именем LDAP_SEARCHDN и паролем, который может быть задан одним из способов:

  • напрямую через переменную LDAP_SEARCHPW;

  • с помощью ключа LDAPSRCHPW;

  • через файл, полный путь к которому передаются в параметре LDAP_SEARCHPW_FILE;

  • анонимно, если эти учетные данные не заданы.

После этого производится поиск пользователя в БД LDAP-сервера в каталоге LDAP_BASEDN с фильтром LDAP_FILTER. Найденное в результате поиска уникальное имя (если единственное) используется для попытки соединения с введенным пользователем паролем. Удачное соединение означает удачную идентификацию и аутентификацию.

Для настройки LDAP-аутентификации ядра СУБД ЛИНТЕР используются следующие переменные окружения:

  • LDAP_PREFIX определяет строку, добавляемую в качестве префикса к имени пользователя БД ЛИНТЕР для формирования уникального имени (DN) для LDAP-аутентификации. Переменная служит для указания имени атрибута, соответствующего выбранной схеме, отличной от значения по умолчанию. Если переменная LDAP_PREFIX не задана, по умолчанию используется строка "cn=". Например, для пользователя SYSTEM БД ЛИНТЕР будет использован атрибут с значением cn=SYSTEM (если LDAP_PREFIX ="cn=", т.е. стандартное имя пользователя). Если LDAP_PREFIX ="sn=", то имя пользователя БД СУБД ЛИНТЕР будет соответствовать атрибуту Surname LDAP-схемы.

    Переменная игнорируется в режиме LDAP-аутентификации с предварительным поиском.

    Значение переменной может задаваться с помощью ключа /LDAPPREFIX.

  • LDAP_SUFFIX определяет строку, добавляемую в качестве суффикса к имени пользователя БД ЛИНТЕР для формирования уникального имени (DN) для LDAP-аутентификации. LDAP_SUFFIX выбирается при настройке LDAP-сервера и обычно соответствует доменному имени организации. Значение строки должно состоять из предопределенных имен атрибутов схемы LDAP-сервера (ou – организационная единица, c – страна, dc – домен и т.п.) и их значений. Указание переменной LDAP_SUFFIX является обязательным для режима LDAP-аутентификации без предварительного поиска. Если эта переменная не задана, то любой запрос на аутентификацию пользователей с включенной LDAP-аутентификацией будет отвергнут.

    Например,

    LDAP_SUFFIX="ou=Users, dc=company, dc=com"

    DN строка формируется как конкатенация строк LDAP_PREFIX, имени пользователя СУБД ЛИНТЕР, символа ',' и LDAP_SUFFIX.

    Переменная игнорируется в режиме LDAP-аутентификации с предварительным поиском.

    Значение переменной может задаваться с помощью ключа /LDAPSUFFIX.

  • LDAP_SERVER задает адрес LDAP-сервера в виде доменного имени. Если переменная не задана, по умолчанию предполагается работа с локальным LDAP-сервером (localhost). В переменной LDAP_SERVER может быть указан номер порта, отделяемый от доменного имени двоеточием. Можно задавать несколько серверов через пробел, в этом случае попытка соединиться с очередным LDAP-сервером будет предприниматься после неудачного соединения с предшествующим LDAP-сервером.

    Например,

    LDAP_SERVER="ldap.server.domain.org"
    LDAP_SERVER="ldap.server.domain.org:636"
    LDAP_SERVER="ldap.server.relex.org"
    LDAP_SERVER="ldap1.server.domain.org ldap2.server.domain.org:636
    ldap3.server.domain.org"

    Значение переменной может задаваться с помощью ключа /LDAPSRV.

  • LDAP_TIMEOUT задает интервал в секундах, в течение которого ожидается ответ от LDAP-сервера. Если в течение указанного интервала ответ не поступил, возвращается код завершения «Тайм-аут LDAP-сервера». По умолчанию интервал тайм-аута принимается в 10 секунд.

    Ожидание ответа от LDAP-сервера выполняется в чередующихся фазах активного и пассивного тайм-аута:

    Фаза активного тайм-аута

    Фаза пассивного тайм-аута

    Фаза активного тайм-аута

    Фаза пассивного тайм-аута

    В фазе активного тайм-аута ЛИНТЕР-сервер ожидает ответ от LDAP-сервера в течение указанного в LDAP_TIMEOUT интервала времени. Если ответ не поступил, генерируется код завершения «Тайм-аут LDAP-сервера».

    Если пользователь продолжает попытки соединиться с ЛИНТЕР-сервером, то в течение следующей фазы пассивного тайм-аута (также равного значению LDAP_TIMEOUT) все попытки соединения с LDAP-сервером немедленно отвергаются с выдачей кода завершения «Тайм-аут LDAP-сервера» (хотя к этому моменту соединение с LDAP-сервером, возможно, уже восстановлено).

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

    Пример

    LDAP_TIMEOUT=15

    Значение переменной может задаваться с помощью ключа /LDAPTOUT.

  • LDAP_BASEDN задает режим LDAP-аутентификации с предварительным поиском уникального имени пользователя в БД LDAP-сервера. Значением переменной является корень поиска, производимого через заданный фильтр.

    Задание переменной обязательно для LDAP-аутентификации с предварительным поиском

    Значение переменной может задаваться с помощью ключа /LDAPBASEDN.

  • LDAP_FILTER задает фильтр, используемый для поиска пользователя в БД LDAP-сервера. Строка фильтра может содержать служебное слово '%username%', которое при поиске заменяется на введенное при установлении соединения с СУБД ЛИНТЕР имя пользователя БД ЛИНТЕР. В найденной записи извлекается уникальное имя пользователя (DN), которое используется совместно с введенным пользователем паролем для попытки аутентификации. Если фильтр находит несколько записей (либо не находится ни одной), то аутентификация считается не пройденной.

    Переменная игнорируется в режиме LDAP-аутентификации без предварительного поиска.

    Значение по умолчанию "(uid=%username%)".

    Значение переменной может задаваться с помощью ключа /LDAPFLTR.

  • LDAP_SEARCHDN задает уникальное имя (DN), с помощью которого будет производиться поиск в БД LDAP-сервера.

    Переменная игнорируется в режиме LDAP-аутентификации без предварительного поиска. Если значение переменной не задано или задана пустая строка, то будет использоваться анонимный поиск (т.е. без предоставления регистрационных данных пользователя БД LDAP-сервера).

    Значение переменной может задаваться с помощью ключа /LDAPSRCHDN.

  • LDAP_SEARCHPW задает пароль для имени, от которого будет производиться поиск в БД LDAP-сервера.

    Переменная игнорируется в режиме LDAP-аутентификации без предварительного поиска или в случае анонимного поиска.

    Значение переменной может задаваться с помощью ключа /LDAPSRCHPW.

  • LDAP_SEARCHPW_FILE задает путь к файлу, содержащему пароль LDAP_SEARCHPW. Переменная имеет более высокий приоритет, чем переменная LDAP_SEARCHPW и ключ /LDAPSRCHPW.

    Значение переменной может задаваться с помощью ключа /LDAPSRCHPWFILE.

Для идентификации и аутентификации по Kerberos-протоколу используются следующие переменные окружения:

  • LINTER_KRB_SERVICE определяет имя службы ЛИНТЕР-сервера. Kerberos-сервер должен быть настроен на использование данной службы.

    Например,

    LINTER_KRB_SERVICE="linter/linterserver.relex.ru"
    LINTER_KRB_SERVICE="linter@linterserver.relex.ru"
  • KRB5_KTNAME задает местоположение (полный путь и имя) файла с таблицей ключей. Может использоваться некоторыми реализациями Kerberos.

    Примечание

    Переменная окружения KRB5_KTNAME используется ядром СУБД ЛИНТЕР не напрямую, а опосредованно, через библиотеку Kerberos.

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter
ѕрокрутить вверх