<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>Модулі/LDAP - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="../index.html"><img alt="OpenSCADA" src="../../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="uk">Модулі/LDAP</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="uk"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Modules%2FLDAP&action=page&filter=&language=uk" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/LDAP" title="Modules/LDAP">Modules/LDAP</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../../en/Modules/LDAP.html" title="Modules/LDAP (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/LDAP.html" title="Модули/LDAP (100% translated)">mRussian</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">УкраїнÑька</span></div></div> <table class="wikitable"> <tr> <th> Модуль </th> <th> Ім'Ñ </th> <th> ВерÑÑ–Ñ </th> <th> Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ </th> <th> Джерело </th> <th> Мови </th> <th> Платформи </th> <th> Тип </th> <th> Ðвтор </th></tr> <tr> <td> <a href="../Modules/LDAP.html" title="Special:MyLanguage/Modules/LDAP">LDAP</a> </td> <td> Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ñ Ð·Ð° LDAP <ul><li> <b><a href="../Program_manual.html#DBFeat" title="Special:MyLanguage/Documents/Program manual">ВлаÑтивоÑті</a>:</b> LIST, GET, SEEK, SET</li></ul> </td> <td> 0.6 </td> <td> GPL2 </td> <td> bd_LDAP.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> БД </td> <td> Роман Савоченко </td></tr> <tr> <th colspan="9"> ÐžÐ¿Ð¸Ñ </th></tr> <tr> <td colspan="9"> Модуль БД. Ðадає підтримку директорій за поÑередництвом LDAP. <ul><li> <b>Загальна працеміÑткіÑть:</b> 1.9 <span title="людино-днів, 1ЛД — 10 годин">ЛД<sup style="color: blue">[!]</sup></span></li> <li> <b>СпонÑоровано, початкової імплементації на 1.7 <span title="людино-днів, 1ЛД — 10 годин">ЛД<sup style="color: blue">[!]</sup></span>:</b> ОлекÑандр КолеÑов, <a class="external text" href="http://www.biocad.ru" rel="nofollow noreferrer noopener" target="_blank">BIOCAD</a>, 2017</li> <li> <b><a href="../../en/To_do.html" title="Special:MyLanguage/Works/To do">Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ (To Do)</a>:</b></li></ul> <dl><dd> - розширити механізм автентифікації функціÑми Ñховища (об'єкту БД), а Ñаме віртуальними функціÑми до TBD: <dl><dd><ul><li> <i>auth()</i> — прÑма перевірка автентифікації кориÑтувача, через "bind" або <i>ldap_whoami()</i>;</li> <li> <i>passHash()</i> — Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ…ÐµÑˆÑƒ паролю, Ð´Ð»Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑннÑ, Ñкщо <i>auth()</i> відÑутній, та зміна паролю за допомогою функції <i>ldap_passwd()</i> або подивитиÑÑ Ð½Ð° утиліту <b>slappasswd</b>.</li></ul></dd></dl></dd> <dd> - розширити "OSCADA-user" Ñхему: <dl><dd><ul><li> поле Ð¿Ð°Ñ€Ð¾Ð»Ñ "PASS" вÑтановити Ñинонімом на "userPassword";</li> <li> Ñвою Ñхему виконати залежною від "simpleSecurityObject";</li> <li> перевірити роботу з полем-типом "userPassword".</li></ul></dd></dl></dd></dl> </td></tr></table> <p>Модуль надає до OpenSCADA підтримку директорій за допомогою протоколу легкого доÑтупу до директорій (<a class="extiw" href="https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol" title="wikipedia:Lightweight Directory Access Protocol">LDAP</a>). Модуль оÑнований на <a class="external text" href="https://www.openldap.org/" rel="nofollow noreferrer noopener" target="_blank">OpenLDAP</a> бібліотеці на мові Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ "C". Через концептуальну різницю ÑервіÑу директорій від баз даних (БД) цей модуль дозволÑÑ” здійÑнювати переважно Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° модифікацію запиÑів, предÑтавлених Ñк табличні запиÑи у концепції БД. </p><p>Служба каталогів або Ñлужба імен відображає назви мережевих реÑурÑів на відповідні мережеві адреÑи. Це Ñпільна інформаційна інфраÑтруктура Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ, керуваннÑ, адмініÑÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° організації повÑÑкденних елементів та мережевих реÑурÑів, Ñкі можуть включати томи, теки, файли, принтери, кориÑтувачів, групи, приÑтрої, телефонні номери та інші об'єкти. Поширеним викориÑтаннÑм LDAP Ñ” Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ міÑÑ†Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ–Ð¼ÐµÐ½ кориÑтувачів та паролів. Це дозволÑÑ” багатьом різним додаткам та Ñлужбам підключатиÑÑ Ð´Ð¾ LDAP Ñерверу Ð·Ð°Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ кориÑтувачів. Протокол надає Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð· директоріÑми, Ñкий відповідає редакції 1993 моделі X.500: </p> <ul><li> Елемент міÑтить набір атрибутів.</li> <li> Ðтрибут має ім'Ñ (тип або Ð¾Ð¿Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ) та одне або багато значень. Ðтрибути визначаютьÑÑ Ñƒ Ñхемі.</li> <li> Кожен елемент має унікальний ідентифікатор — його Визначальну Ðазву (DN). Яка міÑтить Ñ—Ñ— ВідноÑну Визначальну Ðазву (RDN), що конÑтруюєтьÑÑ Ð· деÑкого атрибуту(ів), парами <i>{назва}={значеннÑ}</i> поділеними знаком '+', у цьому елементі, піÑÐ»Ñ DN батьківÑького елементу, через знак ','. Вважайте DN повним шлÑхом та RDN відноÑним ім'Ñм цього файлу у батьківÑькій теці.</li></ul> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D1.96.D1.97_.D0.BD.D0.B0.D0.B4_.D0.91.D0.94"><span class="tocnumber">1</span> <span class="toctext">Операції над БД</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D1.96.D1.97_.D0.BD.D0.B0.D0.B4_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D0.B5.D1.8E"><span class="tocnumber">2</span> <span class="toctext">Операції над таблицею</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#.D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D1.96.D1.97_.D0.BD.D0.B0.D0.B4_.D0.B2.D0.BC.D1.96.D1.81.D1.82.D0.BE.D0.BC_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.96"><span class="tocnumber">3</span> <span class="toctext">Операції над вміÑтом таблиці</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.D0.9F.D1.80.D0.B0.D0.B2.D0.B0_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF.D1.83"><span class="tocnumber">4</span> <span class="toctext">Права доÑтупу</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D1.96.D1.97_.D0.BD.D0.B0.D0.B4_.D0.91.D0.94"><span class="mw-headline-number">1</span> Операції над БД</span></h2> <p>Модулем надаєтьÑÑ Ð»Ð¸ÑˆÐµ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð±Ð°Ð·Ð¸ даних (предÑтавлÑючи у такий ÑпоÑіб базовий елемент). У термінах підÑиÑтеми "БД" OpenSCADA, відкриттÑм БД Ñ” Ñ—Ñ— реєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð´Ð»Ñ Ð½Ð°Ñтупного викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ. Також, підтримуєтьÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ переліку таблиць у БД. </p><p>LDAP база даних (підключеннÑ) адреÑуєтьÑÑ Ð½Ð°Ñтупним чином "<b>ldap[s]://{host}[:{port}];bdn[;{adn};{pass}[;{tm}]]</b>", де: </p> <ul><li> <i>host</i> — адреÑа хоÑту зі Ñлужбою директорій;</li> <li> <i>port</i> — порт, по замовченню 389;</li> <li> <i>bdn</i> — базовий DN, елемент піделементи Ñкого рахуютьÑÑ Ñк таблиці бази даних, за наÑвніÑтю RDN атрибуту "ou" (зазвичай це ÐºÐ»Ð°Ñ Ð¾Ð±'єкту "organizationalUnit");</li> <li> <i>adn</i> — Визначальне Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ, Ð½ÐµÑ…Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñм кориÑтувача та наÑтупного паролю призведе до анонімного підключеннÑ;</li> <li> <i>pass</i> — пароль Визначального Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ;</li> <li> <i>tm</i> — мережевий та загальний таймаут реальним чиÑлом, у Ñекундах.</li></ul> <h2><span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D1.96.D1.97_.D0.BD.D0.B0.D0.B4_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D0.B5.D1.8E"><span class="mw-headline-number">2</span> Операції над таблицею</span></h2> <p>ПідтримуютьÑÑ Ð»Ð¸ÑˆÐµ операції Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð° Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– (предÑтавлÑючи у такий ÑпоÑіб елемент у базовому елементі). Таблицею вважаютьÑÑ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð¸ з наÑвним атрибутом "ou" (зазвичай це ÐºÐ»Ð°Ñ Ð¾Ð±'єкту "organizationalUnit"), що включені до базового елементу. </p> <h2><span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D1.96.D1.97_.D0.BD.D0.B0.D0.B4_.D0.B2.D0.BC.D1.96.D1.81.D1.82.D0.BE.D0.BC_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.96"><span class="mw-headline-number">3</span> Операції над вміÑтом таблиці</span></h2> <ul><li> ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñів таблиці;</li> <li> запит значень визначених запиÑів;</li> <li> вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ визначених запиÑів.</li></ul> <p>API підÑиÑтеми "БД" передбачає доÑтуп до вміÑту таблиці за значеннÑм ключового(их) полів. Так, Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ запиÑу передбачає попереднє вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð²Ð¸Ñ… Ñтовпчиків об'єкту TConfig, за Ñким буде здійÑнено запит. Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ запиÑу(Ñ€Ñдка) здійÑнюєтьÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ”ÑŽ вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ запиÑу, Ñкий відÑутній. </p><p>Перед вÑтановленнÑм будь-Ñкого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ завантажує поточне значеннÑ, порівнює Ñ—Ñ… Ñ– вже потім надÑилає тільки змінене значеннÑ. </p><p>Модуль наразі не розрізнює типів атрибутів елементів та вважає вÑÑ–Ñ… Ñ—Ñ… Ñ€Ñдками. </p><p>Ð”Ð»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ð²ÑÑ–Ñ… цих операцій довкола вузлів OpenSCADA Ви маєте Ñтворити, завантажити та викориÑтати Ñпецифічні Ñхеми цих вузлів у Ñервері директорій. Ð’ÑÑ– відомі Ñхеми вузлів OpenSCADA наведено у наÑтупній таблиці: </p> <table class="wikitable"> <tr> <th> Вузол OpenSCADA </th> <th> Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Organizational Unit "ou" (ім'Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–) </th> <th> Структура </th> <th> Схема, переважно допоміжні </th></tr> <tr> <td> <a class="external text" href="http://wiki.oscada.org/HomePageEn/Doc/ProgrammManual#h932-3" rel="nofollow noreferrer noopener" target="_blank">КориÑтувач</a> </td> <td> ou=Security_user </td> <td> <u>NAME</u>, DESCR, LONGDESCR, PASS, LANG, PICTURE </td> <td> <a class="external" href="http://oscada.org/wiki/File:LDAP-oscada-user.schema" title="File:LDAP-oscada-user.schema">OSCADA-user</a> </td></tr> <tr> <td> <a class="external text" href="http://wiki.oscada.org/HomePageEn/Doc/ProgrammManual#h932-3" rel="nofollow noreferrer noopener" target="_blank">Група кориÑтувачів</a> </td> <td> ou=Security_grp </td> <td> <u>NAME</u>, DESCR, LONGDESCR, USERS </td> <td> <a class="external" href="http://oscada.org/wiki/File:LDAP-oscada-grp.schema" title="File:LDAP-oscada-grp.schema">OSCADA-grp</a> </td></tr></table> <p>Піддерево LDAP елементів типових таблиць кориÑтувачів та Ñ—Ñ… груп виглÑдає наÑтупним чином: </p> <ul><li> <i><b>dc=oscada,dc=org</b></i> — базовий DN (bdn) вказаний у адреÑÑ– об'єкту БД <ul><li> <i><b>ou=Security_user</b></i> — RDN таблиці "Security_user" кориÑтувачів OpenSCADA, у Ñтруктурному клаÑÑ– "organizationalUnit" <ul><li> <i><b>name=user1</b></i> — RDN запиÑу таблиці "Security_user" Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача "user1", у Ñтруктурному клаÑÑ– "account" та доповнювальному клаÑÑ– "OSCADA-user"</li> <li> <i><b>name=user2</b></i> — RDN запиÑу таблиці "Security_user" Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача "user2", у Ñтруктурному клаÑÑ– "account" та доповнювальному клаÑÑ– "OSCADA-user"</li></ul></li> <li> <i><b>ou=Security_grp</b></i> — RDN таблиці "Security_grp" груп кориÑтувачів OpenSCADA, у Ñтруктурному клаÑÑ– "organizationalUnit" <ul><li> <i><b>name=grp1</b></i> — RDN запиÑу таблиці "Security_grp" Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¸ кориÑтувачів "grp1", у Ñтруктурному клаÑÑ– "account" та доповнювальному клаÑÑ– "OSCADA-grp"</li> <li> <i><b>name=grp2</b></i> — RDN запиÑу таблиці "Security_grp" Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¸ кориÑтувачів "grp2", у Ñтруктурному клаÑÑ– "account" та доповнювальному клаÑÑ– "OSCADA-grp"</li></ul></li></ul></li></ul> <h2><span class="mw-headline" id=".D0.9F.D1.80.D0.B0.D0.B2.D0.B0_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF.D1.83"><span class="mw-headline-number">4</span> Права доÑтупу</span></h2> <p>Права доÑтупу до бази даних визначаютьÑÑ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ кориÑтувача підключеннÑ. </p> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Modules/LDAP/uk">Modules/LDAP/uk</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body> </html>