إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

تحكم بالمستخدمين مركزيا بإستخدام الـopenLdap

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [شرح] تحكم بالمستخدمين مركزيا بإستخدام الـopenLdap

    السلام عليكم

    رابط الفيديو وملف الشرح
    http://www.4shared.com/file/jo7vx43a/OpenLdap.html

    ملاحظة: الفيديو صامت لذلك لا غنى لك عن الشرح.

    أولا الــLDAP إختصار لـ Lightweight Directory Access Protocol

    المهمة الرئيسية لبروتوكول الــLDAP هي جعل عملية التوثيق (Authentication) من حسابات المستخدمين عند الدخول logon لأي جهاز بالشبكة مركزية. بعبارة أخرى هناك قاعدة بيانات مركزية لحسابات المستخدمين مخزنة بالخادم (LDAP server) ومن خلالها يتم التحقق من صحة المعلومات المدخلة عند كل عملية دخول لأي جهاز مرتبط بالشبكة، وذلك يعطي النظام ومدير النظام root عدة مزايا وأهمها:

    -- توفير الوقت والجهد فبدلا من التنقل بين الأجهزة لإنشاء الحسابات وعمل إعدادات لها فإن هناك قاعدة بيانات مركزية ولا حاجة لي لحمل فنجان القهوة الكبير والإنتقال من كرسي لكرسي.

    -- يستطيع المستخدم user الدخول Login لحسابه من أي جهاز مرتبط بالشبكة.

    -- هناك مكان واحد لتخزين بيانات المستخدمين وذلك يجعل عملية الــBackup أسهل وأسرع وأضمن.

    طبعا هذا غيض من فيض لأهمية هذا البروتوكول، الآن فالنضع الكلام النظري جانبا ونبدأ العمل:

    السيناريو :

    لدينا شبكة محلية LAN كالتالي : Subnet: 192.168.0.0/24 و اسم الـdomain هو example.com
    عنوان الخادم server بالشبكة هو 192.168.0.1 واسمه ahmed
    وللتجربة نحتاج لجهاز آخر to act as a client اسمه Station1 وعنوانه 192.168.0.100


    قبل كل شيء يجب عليك تنصيب رزمة Package الــ (openldap-*) كاملة للـserver والتي تتكون من:

    openldap-2.2.23-5
    openldap-devel-2.2.23-5
    nss_ldap-234-4
    openldap-clients-2.2.23-5
    openldap-servers-2.2.23-5


    أول شيء يجب صنعه بعد التنصيب هو إنشاء كلمة سر لـ LDAP root user وذلك بإستخدام:













    كود:
    [LEFT][[email protected] ~]# slappasswd[/LEFT]
    
     
     
     
     
     
     
    [LEFT]New password:
    Re-enter new password:
    {SSHA}5WcnZW3lXJXf72pyS5NT2z3sjgVrpq2s
    [[email protected] ~]#[/LEFT]

    أكتب أي كلمة سر تريدها وليس بالضروري أن تشابه كلمة سر الـroot user وبعد ذلك لا تنس نسخ الأحرف المتتالية ( السطر الرابع بداية من { وإنتهاء بـ s ) والإحتفاظ بها لأننا سنستخدمها فيما بعد. إن كنت تستخدم الكدي أو الجنوم فمن السهل عليك نسخها ولصقها في أي مكان تريده أما إن لم يكن لديك أو كنت تعمل من runlevel 3 أو ما شابه فإرجع إلى الفيديو رقم 3.

    ملف الإعداد الرئيسي لهذه الخدمة هو /etc/openldap/slapd.conf
    قم بفتحه وتعديل الأسطر التالية لتصبح :

    كود:
    [LEFT]database        bdb 
    suffix "dc=example,dc=com"
    rootdn "cn=Manager,dc=example,dc=com"
    rootpw {SSHA}5WcnZW3lXJXf72pyS5NT2z3sjgVrpq2s[/LEFT]

    بعد التعديل قم بتشغيل الخدمة عن طريق أي من:


    كود:
    [LEFT]service ldap start
    /etc/init.d/ldap start[/LEFT]


    وبهذا نكون قد إنتهينا من إعدادات الخدمة بشكل عام والآن سنرى كيفية إضافة حسابات المستخدمين Users accounts:



    تذكر أن كل حساب تريد أن تضيفه إلى الـOpenldap يجب أن يتم إنشاءه بشكل أولي على السيرفر يعني بالعربي مستخدم محلي وبالإنجليزيlocal user

    كمثال سنضيف مستخدم واحد (user1):






    كود:
    [LEFT][[email protected] ~]# useradd user1
    [[email protected] ~]# passwd user1
    new password:
    Retype password:[/LEFT]


    هنا سأوضح بعض الأمور:



    لكي يستطيع الـopenLdap التعامل مع المستخدمين على مستوى الشبكة يجب أن يكون لكل مستخدم تعريفه الخاص (صيغة معينة للبروتوكول) مخزنة بملف بإمتداد .ldif في /etc/openldap/ , مثلا التعريف الخاص بالمستخدم user1 سيكون:



    كود:
    [LEFT]dn: uid=user1,ou=People,dc=example,dc=com
    uid: user1
    cn: user1
    objectClass: account
    objectClass: posixAccount
    objectClass: top
    objectClass: shadowAccount
    userPassword: {crypt}$1$crGdBSdr$njuf6chsGxWJsgxJ3cP9k0
    shadowLastChange: 14806
    shadowMax: 99999
    shadowWarning: 7
    loginShell: /bin/bash
    uidNumber: 500
    gidNumber: 500
    homeDirectory: /home/user1[/LEFT]

    قبل أن أسترسل بالشرح أريد أن أطمئنك أننا لن نكتب هذه الأسطر بأيدينا، ولكن لا بد من شرح المهم منها:

    -- مهمة السطر الأول هو أن يقول للـopenLdap أن هناك مستخدم اسمه user1 وينتمي للـdomain الذي اسمه example.com ويقع بالوحدة التنظيمية People داخل الـLDAP Hierarchy
    -- السطر الثالث يعتبر كـID على مستوى المستخدمين داخل الـopenLdap.

    -- بروتوكول الـLDAP يتعامل مع حسابات المستخدمين accounts أو الأجهزة مثل الطابعات كـObjects ومهمة السطر الرابع هي أن يقول للـopenLdap أن هذا التعريف لـحساب مستخدم.


    طبعا بإمكانك إنشاء ملف .ldif مثلا /etc/openldap/users.lidf من ثم كتابة الصيغة التعريفية لكل مستخدم يدويا (يجوز أن يحتوي الملف على أكثر من مستخدم على أن يفصل بينهم بسطر فارغ) أو أن نستخدم script جاهز يأتي مع الـopenldap package ، وهذا ما سأشرحه الآن:



    كما نعلم أن كل مستخدم محلي له سطر خاص به داخل /etc/passwd، ما سنفعله الآن هو نسخ هذا السطر ولصقه بملف آخر ثم إستخدام الـscript التالي لعملية التحويل:





    /usr/share/openldap/migration/migrate_passwd.pl





    لنسخ معلومات الحسابات سأستخدم الأمر grep متبوعا بــِ<بالمرة الأولى وبـ << للباقي:



    كود:
     
    [LEFT][[email protected] ~]# grep user1 /etc/passwd > /etc/openldap/users.passwd[/LEFT]


    ما فعلته أنني نسخت المعلومات الخاصة بـِ user1 ووضعتها داخل الملف /etc/openldap/users.passwd والذي أنشأ بشكل تلقائي بعملية الـRedirection.

    وبنفس الطريقة نقوم بنسخ باقي المستخدمين, على سبيل المثال:


    كود:
     
    [LEFT][[email protected] ~]# grep ali /etc/passwd >>/etc/openldap/users.passwd 
    [[email protected] ~]# grep farah /etc/passwd >> /etc/openldap/users.passwd
    [[email protected] ~]# grep fai /etc/passwd >> /etc/openldap/users.passwd[/LEFT]


    لاحظ أنني بعد المرة الأولى صرت إستخدم << وذلك لأني أريد أعمل Appending وليس overwrite !

    بعد أن تقوم بنسخ جميع المستخدمين الذين تريدهم قم بتنفيذ التالي (على نفس السطر):








    [
    كود:
     
    [LEFT][email protected] ~]# usr/share/openldap/migration/migrate_passwd.pl /etc/openldap/users.passwd /etc/openldap/users.ldif[/LEFT]


    يعني بشكل عام صيغة التحويل يجب أن تأخذ هذا الشكل:





    كود:
    [LEFT][B][FONT=Arial][B][FONT=Arial][[email protected] ~]# <script_file>  <source file>  <destination file .ldif>[/FONT][/B][/FONT][/B][/LEFT]





    وبذلك يصبح لدينا ملف يحتوي على جميع المستخدمين المختارين وبصيغة البروتوكول، الآن قم بفتح الملف بإستخدام أي محرر نصوص مثلا:






    كود:
     
     
    [LEFT][B][FONT=Arial][[email protected] ~]# vim /etc/openldap/users.ldif[/FONT][/B][/LEFT]




    وقم بتغيير سطر الـdn (Distinguished Name) يعني السطر الأول لكل مستخدم ليتناسب مع السيناريو الخاص بنا بعبارة أخرى بدلا من dc=padl إجعلها dc=example





    وبذلك يصبح لدينا ملف خاص بالمستخدمين والآن نحن بحاجة لملف آخر للدومين ككل بحيث يحتوي على وصف لـexample.com وللوحدة التنظيمية People (ou إختصار لــ Organizational Unit وتعني وحدة تنظيمية):





    قم بإنشاء ملف .ldif آخر وسمه example.com.lidfكالتالي:







    [email protected] ~]# vim /etc/openldap/example.com.ldif







    وأضف له المعلومات التالية:





    كود:
     
    [LEFT]d[B][FONT=Courier New]n: dc=example,dc=com[/FONT][/B]
     [B][FONT=Courier New]dc: example[/FONT][/B]
    [B][FONT=Courier New]description: Root LDAP entry for example.com[/FONT][/B]
    [B][FONT=Courier New]objectClass: dcObject[/FONT][/B]
    [B][FONT=Courier New]objectClass: organizationalUnit[/FONT][/B]
    [B][FONT=Courier New]ou: rootobject[/FONT][/B][/LEFT]
     
     
    [LEFT] [B][FONT=Courier New]dn: ou=People,dc=example,dc=com[/FONT][/B]
    [B][FONT=Courier New]ou: People[/FONT][/B]
    [B][FONT=Courier New]description: All people in organisation[/FONT][/B]
    o[B][FONT=Courier New]bjectClass: organizationalUnit[/FONT][/B][/LEFT]


    لاحظ وجود سطر فارغ بين كل تعريف للـdn يجب أن لا تنس وضع هذا السطر وإلا سيظهر لك الـerror التالي:



    كود:
     
     
    [LEFT][B][FONT=Arial]adding new entry "dc=example,dc=com"[/FONT][/B][/LEFT]
     
     
     
    [LEFT][B][FONT=Arial]ldap_add: Type or value exists (20)[/FONT][/B][/LEFT]
     
     
     
     
    [LEFT][B][FONT=Arial]additional info: objectClass: value #1 provided more than once[/FONT][/B][/LEFT]





    الخطوة الأخيرة المتبقية هي إنشاء قاعدة البيانات للـLDAP ونبدأ أولا بـexample.com.ldif :





    كود:
     
     
    [LEFT][B][FONT=Arial][[email protected] ~]# ldapadd -xW -D "cn=Manager,dc=example,dc=com" -f /etc/openldap/example.com.ldif[/FONT][/B][/LEFT]
     
     
     
    [LEFT][FONT=Arial]Enter LDAP Password:[/FONT][/LEFT]
     
     
     
     
    [LEFT][FONT=Arial]adding new entry "dc=example,dc=com"[/FONT][/LEFT]
     
     
     
     
     
     
     
    [LEFT][FONT=Arial]adding new entry "ou=People, dc=example,dc=com"[/FONT][/LEFT]
     
     
    [LEFT][B][FONT=Arial][[email protected] ~]#[/FONT][/B][/LEFT]




    وبنفس الطريقة نقوم بإضافة المستخدمين كالآتي:





    كود:
     
    [LEFT][[email protected]~]# ldapadd -xW -D "cn=Manager,dc=example,dc=com" -f /etc/openldap/users.ldif[/LEFT]
     
     
    [LEFT]Enter LDAP Password:[/LEFT]
     
     
    [LEFT]adding new entry "uid=user1,ou=People,dc=example,dc=com"[/LEFT]
     
     
     
    [LEFT]adding new entry "uid=farah,ou=People,dc=example,dc=com"[/LEFT]
     
     
     
    [LEFT]adding new entry "uid=ali,ou=People,dc=example,dc=com"[/LEFT]
     
     
    [LEFT]……………[/LEFT]
     
     
    [LEFT][[email protected]~]#[/LEFT]






    وبذلك نكون قد إنتهينا من إعداد السيرفر، والآن سنقوم بإعداد الـclient





    كما ذكرت سابقا أن الـclient اسمه Station1 وعنوانه 192.168.0.100



    طبعا لا تنس تنصيب الحزم التالية عليه:





    openldap-2.2.23-5
    nss_ldap-234-4
    openldap-clients-2.2.23-5



    ملف الإعداد الرئيسي للـclient هو /etc/openldap/ldap.conf ولكن بدلا من تحريره بشكل مباشر سوف نستخدم الأمر التالي(نحن الآن على الـClient machine):




    كود:
    [LEFT][[email protected]~]# authconfig <options> --update[/LEFT]



    والأمر ينفذ كالتالي (طبعا على سطر واحد):



    كود:
    [LEFT][[email protected]~]# authconfig --enableldap --enableldapauth -- ldapserver=192.168.0.1 --ldapbasedn="dc=example,dc=com" -- enablemd5 --enableshadow --update[/LEFT]


    لطرق أخرى إرجع إلى الفيديو رقم 6.



    وبذلك نكون قد إنتهينا من إعداد الـclient وأصبحت خدمة الـLDAP جاهزة للإختبار:



    تأكد أن الخدمة في وضع running على السيرفر.



    على Station1 قم بالخروج exit ثم حاول الدخول بإستخدام اسم مستخدم مركزي مثل user1.


    لاحظ أن الــHome للمستخدم هو / يعني قمنا بعملية الـAuthentication ولم نقم بعملية إستيراد الـ Home directory الخاص بالمستخدم، وهذا ما سنتعلمه في الدرس القادم إن شاء الله.
    تعلم كيفية التحكم بحسابات المستخدمين مركزيا بإستخدام الـOpenLdap ( صفحة الموضوع , تحميل الشرح والفيديو )

  • #2
    ماشاء الله مجهود تشكر عليه

    تعليق


    • #3
      وعليكم السلام .. شكرا احمد مجهود مميز .

      رابط اضافي للفديوهات وطريقه شرحك جميله وواضحه . ما اسم البرنامج المستخدم فى الشرح ؟.

      كود PHP:
       http://rapidshare.com/files/410155607/OpenLdap.rar 

      Twitter
      : @Linux4SA

      تعليق


      • #4
        عقابا لك ,, تم التثبيت!!
        مـدونـتي الـتقـنـيـة

        サブリ

        مــا خِفتُ المـوتَ ولا عُـقبــاهُ ,,, فما أعظمَ شأنهُ غيرَ مولاهُ
        أهوِن بما في الموتِ من حدثٍ ,,, غـــيــرَ أن بـــهِ الله ألقــاهُ

        خارج الخدمة


        تعليق


        • #5
          هذة اول مشاركة لك وموضوع مميز
          صبرى انصحك بالخوف على مكانك
          ممكن احدكم ينسق الموضوع ويحذف المسافات والسطور الفارغة الزائدة
          شكراً لكل من علمنى حرفاً فى هذا المجتمع العظيم
          فرص عمل لشباب مصر

          تعليق


          • #6
            شكرا جزيلا لكم وشكرا على تثبيت الموضوع وإن شاء الله سأكمل الشرح على أكمل وجه
            --- آسف على التنسيق غير المرتب ولكن هذا ما خرجت به بعد ساعة كاملة بالمحاولات (لم أنسق موضوع بهذا الحجم من قبل) على كل حال هناك ملف للموضوع بصيغة PDF مرفق مع الفيديو.

            --- آسف على تأخري بالرد عليكم (لا أملك خط إنترنت منزلي)

            البرامج المسنخدمة بالشرح:

            * تسجيل الفيديو بإستخدام الـVMware فلقد وجدت أن التسجيل على الـRunlevel 3 جيد من ناحية حجم الملف النهائي ولا يكون هناك أي حمل يذكر على الـCPU.
            * برنامج التنسيق وإضافة النصوص هو Camtasia studio 7

            في المرة المقبلة سأقوم بشرح كيفية إستيراد الـHome Directory

            مبدئيا ولكي يقبل السيرفر الـConnections قم بعمل Flush أو stop للـiptabels
            تعلم كيفية التحكم بحسابات المستخدمين مركزيا بإستخدام الـOpenLdap ( صفحة الموضوع , تحميل الشرح والفيديو )

            تعليق


            • #7
              بسم الله الرحمن الرحيم

              ولا يهمك يا أحمد ، وإن شاء الله يصير عندك إتصال انترنت خاص فيك وسريع ،
              ونحن بانتظار جديدك /
              موضوع متميز ،
              (لَا تَحْسَبَنَّ الَّذِينَ يَفْرَحُونَ بِمَا أَتَوا وَّيُحِبُّونَ أَن يُحْمَدُوا بِمَا لَمْ يَفْعَلُوا فَلَا تَحْسَبَنَّهُم بِمَفَازَةٍ مِّنَ الْعَذَابِ وَلَهُمْ عَذَابٌ أَلِيمٌ)
              آل عمران 188
              قال رسول الله صلى الله عليه و سلم :
              {لا يشكر الله من لا يشكر الناس}
              {من كان يؤمن بالله واليوم الآخر،فليقل خيراً أو ليصمت}

              جميع المساهمات الحاملة لهذا التوقيع تخضع لرخصة وقف
              أسأل الله العظيم رب العرش العظيم أن يحسن من حال أمتي

              تعليق


              • #8
                لقد أكملت الشرح والحمدلله ..... مبدئيا (لضيق الوقت) سأقوم برفع الشرح بملف .doc :

                http://www.4shared.com/document/F8JhVZU2/OpenLdap_Tutorial_FULL.html

                في القريب العاجل سأقوم برفع الفيديو بعد إكمال التعديل.
                تعلم كيفية التحكم بحسابات المستخدمين مركزيا بإستخدام الـOpenLdap ( صفحة الموضوع , تحميل الشرح والفيديو )

                تعليق


                • #9
                  السلام عليكم

                  الرابط الأخير :
                  http://www.4shared.com/file/3YzaDelc/OpenLdap_final.html

                  يحتوي على الشرح الكامل لهذه الخدمة + ملفات الفيديو
                  تعلم كيفية التحكم بحسابات المستخدمين مركزيا بإستخدام الـOpenLdap ( صفحة الموضوع , تحميل الشرح والفيديو )

                  تعليق


                  • #10
                    السلام عليكم ورحمة الله وبركاته
                    شكرا اخ احمد كتيييييييير
                    هذا جهد كبير أسأل الله لك التوفيق
                    وشكراً

                    تعليق


                    • #11
                      طيب الباكج اللي بدنا ننزلها للسيرفس وين بنلاقيها حدا ممكن يحطلنا روابطها ؟؟؟

                      تعليق


                      • #12
                        اذا ممكن روابط ميديا فاير
                        ولك جزيل الشكر

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة فارس السماوي مشاهدة المشاركة
                          اذا ممكن روابط ميديا فاير
                          ولك جزيل الشكر
                          إتفضل http://www.mediafire.com/?dol153zz0irw3mq

                          تعليق


                          • #14
                            السلام عليكم
                            عندي سوال حول تنصيب openLDAP
                            fedora منصب على virtuell VMware worstation
                            كيف لي ان نصب openLDAP هل انصب اولا DNS and DHCP

                            تعليق


                            • #15
                              هناك بعض المعلومات التي يمكن الاستفادة منها حول الموضوع في الحزء السابع من هذا الكتاب:
                              http://www.linuxac.org/forum/threads/59577

                              عبدالرحيم الفاخوري -- فلسطين
                              IRC: Fakhouri


                              تعليق

                              يعمل...
                              X