آشنايي با پروتكل Ldap - نسخه قابل چاپ +- Parsi Coders (http://parsicoders.com) +-- انجمن: Network & Internet section (http://parsicoders.com/forumdisplay.php?fid=138) +--- انجمن: Other (http://parsicoders.com/forumdisplay.php?fid=139) +--- موضوع: آشنايي با پروتكل Ldap (/showthread.php?tid=220) |
آشنايي با پروتكل Ldap - parastoo - 05-05-2011 آشنايي با پروتكل Ldap سرويس دايركتوري دايركتوري يا فهرست راهنما، يك سرويس ويژه در شبكههاي كامپيوتري يا اينترنت است كه براي بهبود كار با بانكهاياطلاعاتي براي خواندن، جستوجو و مرور اطلاعات به كار ميرود. با استفاده از سرويس دايركتوري ميتوان محتويات بانك اطلاعاتي را دستهبندي نمود، براي آنها ويژگيها و ايندكسهايي تعريف كرد و بر اين اساس فايلها و اطلاعات شبكه را براي دسترسي سريع و آسان طبقهبندي نمود. براي مثال، در شبكه ممكن است يك بانك اطلاعاتي از فايلها وجود داشته باشد. با استفاده از سرويس دايركتوري ميتوان اين فايلها را طبقهبندي نمود، ويژگيهاي مختلفي به آنها افزود و عمليات بروزرساني و آپلود آنها را انجام داد؛ به طوري كه دسترسي به آنها از روي شبكه براي كاربران ساده و راحت باشد. هر سرويس دايركتوري داراي ويژگيهاي اساسي زير است: ● قابليت بهينهسازي خواندن و دسترسي به فايلها ● مدلي توزيع شده براي مديريت و ذخيره اطلاعات ● افزايش و توسعه ويژگيها و انواع اطلاعات ذخيره شده ● ايجاد يك ابزار جستوجوي پيشرفته روي شبكه روشهاي مختلفي براي راهاندازي يك سرويس دايركتوري وجود دارد. علاوه بر اين، متدهاي مختلفي براي مديريت اطلاعات و ذخيرهسازي آنها براساس آپلودكردن آنها روي بانك اطلاعاتي، نحوه دسترسي، چگونگي مرجعدهي آنها براي يك سرويس دايركتوري قابل استفاده است. برخي از سرويسهاي دايركتوري محلي (Local) هستند و فقط روي يك شبكه محلي يا يك ماشين سرويسدهنده اجرا ميشوند. برخي ديگر از دايركتوريها عمومي (Global) هستند و روي چندين شبكه محلي يا سرويسدهنده توزيع ميشوند، و امكان مديريت و دسترسي به اطلاعات روي شبكه را از اين طريق فراهم ميكنند. Domain Name System) DNS) يك مثال از سرويس دايركتوري عمومي است. پروتكل LDAP Lightweight Directory Access Protocol يك پروتكل مبتني بر شبكه و X500 براي دسترسي به سرويسهاي دايركتوري روي شبكه است. اين پروتكل داراي مستندات RFC2251 و RFC3377 است. به علت آنكه دايركتوريهاي موجود روي شبكه يكتا نيستند و هر يك ممكن است براساس يك سكوي سيستمعاملي و ساختار متفاوت باشند، پروتكل LDAP امكان برقراري ارتباط و مديريت آنها را فراهم ميكند. در حقيقت LDAP ابزاري براي مديريت اطلاعات شبكه، حسابهاي كاربري، ماشينهاي ميزبان شبكه و منابع درون شبكه است. با استفاده از اين استاندارد ميتوان يك مديريت متمركز و واحد را به كل پيكره شبكه اعمال نمود و با دسترسي به تمام سرويسهاي درون شبكه (سختافزاري و نرمافزاري) امكان همسانسازي و پيكربندي آسان آنها را فراهم كرد. در حالت كلي پروتكل LDAP وظايف زير را بر عهده دارد: ● ايجاد يك زبان مشترك دسترسي دايركتوري (Directory Access) بين ماشين ميزبان و سرويسدهنده در شبكه و امكان برقراري ارتباط و تبادل اطلاعات ميان آنها فارغ از سكوي سيستمعاملي و سختافزاري. ● ايجاد قابليت استفاده از متدهاي ساده رمزنگاري در پروتكل TCP/IP براي تبادل اطلاعات كنترلي و مديريتي مانند كنترل و مديريت كاربران در شبكه. ● ايجاد يك استاندارد براي استفاده از دايركتوري در شبكه. اين استاندارد قابليت نصب و پيكربندي ساده و انعطافپذير سرويس دايركتوري و سفارشي نمودن آن براي نيازهاي گوناگون را روي شبكه فراهم ميكند. ● پشتيباني توابع API: اين پروتكل از C ،Netscape's Java SDK ،PerLDAP ،SunSoft's JNDI و Microsoft's Active Directory Services Interface) ADSI) پشتيباني ميكند و با آنها سازگار است. اين ويژگي امكان مديريت و كنترل دسترسي شبكههاي گسترده را فراهم ميكند كه داراي چندين سكوي نرمافزاري/ سختافزاري هستند. ● استفاده از يك استاندارد با نام LDAP Data Interchange Format) LDIF) براي توصيف و تشريح اطلاعات دايركتوري. اين استاندارد كه توسط يك ابزار با همين نام به كار گرفته ميشود، تحت خط فرمان است و امكان تنظيم مجموعهاي از دايركتوريها يا آپلودكردن آنها براي استفاده در دايركتوري را در اختيار مدير شبكه قرار ميدهد. ساختار LDAP اطلاعاتي كه روي LDAP قرار ميگيرد، اطلاعاتي ايندكسدار و مدخلمانند است. بدين معني كه اطلاعات به صورت مجموعهاي از ويژگيهاي توزيع شده قابل دسترسي هستند كه از يكديگر متمايزند و كاربران ميتوانند از طريق ايندكسهاي موجود، به اطلاعات دسترسي پيدا نمايند. براي مثال، عبارت ميتواند يك ايندكس براي اطلاعات دستوري و براي آدرسهاي ايميل باشد. cn ميتواند ارزش يك داده يا اطلاعات براي يك كاربر يا ماشين باشد (براي مثال Misagh و mail) آدرس ايميل مرتبط با ارزش cn باشد (براي مثال misagh؛example.com). روي LDAP اطلاعات به صورت مدخلهاي دايركتوري و سلسله مراتبي قرار ميگيرند. اين ساختار سلسله مراتبي انعكاسي از ساختار شبكه يا اينترنت و وضعيت جغرافيايي يا قرارگيري ماشينهاي كلاينت و سرويسدهنده است. اين ساختار دسترسي به اطلاعات و كنترل مجوزها، همچنين مديريت آنها را براي سرويسدهنده اختصاصي سازمان و ديگر سرويسدهندهها كه امكان اتصال به دايركتوري را دارند، ساده مينمايد. LDAP ساز و كاري براي اتصال به اين دايركتوري و برقراري يك ارتباط مديريتي در لينوكس براي مديران شبكه فراهم ميكند. LDAP در لينوكس LDAP خود يك پروتكل و استاندارد براي برقراري ارتباط با سرويس دايركتوريهاي مختلف است، اما در لينوكس براي به كارگيري و مديريت اين پروتكل ابزار OpenLDAP ارائه شده است. OpenLDAP يكي از بنياديترين ابزارهاي لينوكس است و به همين خاطر در غالب توزيعهاي لينوكس مشاهده ميشود و امكان نصب و راهاندازي آن به راحتي وجود دارد. بنابراين نصب اين سرويس كار چندان مشكلي نخواهد بود، اما پيكربندي LDAP براي دسترسي به دايركتوريهاي تعريف شده و تنظيمات آنها براساس مستندات شبكه، نيازمند دقت و تمرين است. علاوه بر اين، هر توزيع، ابزارهاي متنوع مديريتي براي كار با اين سرويس ارائه نموده است. براي نمونه در توزيع SUSE، در بخش Network Service ابزار LDAP Client ارائه شده است كه ميتوان با دادن آدرس سرويسدهنده LDAP و شماره DN اختصاصي تعريف شده براي كاربر، به اين سرويس متصل شد (شكل 3). براي تنظيمات مورد نياز بايد به سراغ پوشه /etc/openldap رفت. در اين پوشه فايلهاي پيكربندي ldap.conf و slapd قرار دارند. براي شروع و خاتمه سرويس LDAP نيز از دو دستور slapd start و slapd stop استفاده ميشود. slapd نام دايمون ابزارOpenLDAP در لينوكس است نصب و پيكربندي LDAP روي دبيان سارژ دبيان بزرگترين توزيع لينوكس است كه قابليتها و ويژگيهاي آن موجب شده روي كامپيوترهاي سرور و با هدف ايجاد سرويسدهنده به راحتي راهاندازي شود. سارژ يا دبيان 1/3 آخرين نسخه اين توزيع است كه شامل طيف گستردهاي از برنامهها و ابزارهاي موردنياز براي يك سيستم سرور است. در ادامه نصب و پيكربندي سرويسدهنده پروتكل LDAP روي اين توزيع مرور ميشود. براي نصب LDAP، اگر در هنگام نصب دبيان نصب نشده است، بايد از دستور زير استفاده نمود: apt-get install slapd ldap-utils با اجراي دستور فوق ابزار OpenLDAP و ابزارهاي ديگر وابسته به آن نصب ميشوند. اكنون از مسير /etc/openldap فايل دايمون slapd.conf را توسط يك ويرايشگر متني باز نماييد. دو گزينه براي دسترسي به سرويسدهنده LDAP و مديريت آن و كه نام دامنه سرويس LDAP است، در اين فايل بايد تنظيم شوند. براي مثال: omit openLDAP server configuration? no DNS domain name: example.org Admin password: ldap database backend to use: BDB Do you want your database to be removed when slapd is purged? no protocol? No2Allow LDAPv پس از انجام دادن تنظيمات موردنياز و اجراي سرويس LDAP، با استفاده از دستور ldapsearch -x -b dc=example,dc=org ميتوانيد سرويسدهنده LDAP و صحت كاركرد آن را تست نماييد. سپس بايد اطلاعات پايهاي اوليه سلسلهمراتبي سرويس دايركتوري شبكه يا نام دامنه مورد نظر براي OpenLDAP تعريف شوند. براي اين منظور يك فايل متني را باز كنيد و نام آن را base.ldif قرار دهيد. اين فايل در همان پوشه openldap ذخيره ميشود. همانطور كه در ضمن مثالي در بالا اشاره شد، اطلاعات يك دايركتوري ممكن است به صورت زير باشند: dn: ou= People, dc= example, dc=org ou: People objectClass: top objectClass: organiationalUnitz dn: ou= Group, dc= example, dc=org ou: Group objectClass: top objectClass: organiationalUnitz اكنون براي افزودن فايل اطلاعات به دايركتوري LDAP و اجراي سرويسدهنده از فرمان زير استفاده ميشود: ldapadd -x -D "cn=admin,dc=example,dc=org" -W -f base.ldif در صورت اجراي دستور بالا و صحيح بودن كلمه عبور، خروجي مشاهدهشده در ترمينال خط فرمان بايد با عبارت . آغاز شده باشد كه بيانگر آماده بودن سرويسدهنده LDAP براي وارد نمودن اطلاعات جديد يا مديريت كاربران است. در گام بعد معمولاً مديران شبكه يك گروه كاري را تعريف ميكنند تا كاربراني كه ميخواهند به اطلاعات روي سرويس دايركتوري دسترسي داشته باشند عضو اين گروه شوند. نام گروه ميتواند group.ldap باشد. بدون اينكه بخواهيم درگير جزئيات و پيچيدگيهاي راهاندازي يك گروه كاري روي LDAP شويم، ميتوان اينگونه عمل نمود: dn: cn= ldapusers, ou= Group, dc= example, dc=org objectClass: PosixGroup ObjectClass: top cn: ldapusers userPassword: [crypt]x gidNumber:9000 اكنون LDAP براي برقراري يك ارتباط و استفاده روي شبكه آماده است. البته ميتوان در ادامه سرويسهايي مانندIDIF را نيز براي كاربران و گروه كاري تعريف و تنظيم نمود. نتيجهگيري برخي از سرويسهاي ارائهشده روي لينوكس ويژگيهاي منحصربهفردي دارند كه توانايي و امكانات مديران شبكه را افزايش ميدهند و موجب ميشوند شبكه را آسانتر مديريت كرد و سريعتر كارهاي روزمره و عادي را پيگيري نمود. LDAP پروتكلي است كه امكان ارتباط با سرويس دايركتوري و مديريت اطلاعات و كاربران روي يك شبكه را فراهم ميكند. اين سرويس توسط ابزار OpenLDAP در لينوكس اجرا ميشود و مخصوص سكوي نرمافزاري اپنسورس براي سازگاري با ديگر سكوها است. در صورت نبود اين پروتكل در لينوكس، مديران شبكه مجبور ميشدند از ابزارهاي شبيهسازي و مجازيسازي براي راهاندازي يك كلاستر جهت ارتباط با سرويس دايركتوري سيستمعاملهايي مانند ويندوز استفاده نمايند |