با سلام خدمت دوستان . در پست قبلی در مورد نصب و راه اندازی ldap سرور صحبت کردیم و در آخر به ساخت user پرداختیم . همان طور که در قسمت قبل گفته شده قرار است در این قسمت نحوه ی اتصال یک سیستم لینوکسی دسکتاپ مثل ubuntu به ldap سرور خود را بررسی کنیم .
اگر با active directory در ویندوز سرور کار کرده باشید راحت می توانید مفهوم این عمل را درک کنید . این که چرا یک سیستم برای استفاده و … به یک سرور متصل بشود و دسته ای قوانین و پالیسی ها بر رویش تنظیم شود .
توپولوژی شبکه :
Install LDAP client package on ubuntu
ما در این آموزش از اوبونتو به عنوان سیستم کلاینت استفاده می کنیم . پس در مرحله ی اول لازم است بسته های زیر را نصب کنیم :
root@ubuntu:~# apt-get install libnss-ldap libpam-ldap nscd
بعد از دانلود و نصب بسته های بالا , صفحه ی کانفیگ در همان محیط ترمینال برایتان باز می شود که در مرحله ی اول باید آدرس آی پی LDAP سرور را وارد کرد . مطابق توپولوژی فرض شده آدرس را وارد می کنیم :
در مرحله ی بعد باید dc را مطابق با کانفیگ سرور پر کنیم . پس ما هم مطابق با سروری که در پست قبلی کانفیگ کردیم اطلاعات را پر می کنیم :
در مرحله ی بعد ورژن LDAP را مشخص می کنیم . از اون جایی که ما از ورژن 3 استفاده می کنیم و ورژن شماره 2 را هم غیر فعال کردیم , پس ورژن شماره 3 را انتخاب می کنیم و به مرحله ی بعد می ریم :
در مرحله ی بعد از شما سوالی با مضمون Make local root Database admin می پرسد که به آن پاسخی مثبت یعنی yes می دهیم و به مرحله ی بعد می ریم .
در این مرحله باز از شما سوالی با مضمون Does the LDAP database require login می پرسد که پاسخ پیش فرض به این سوال منفی یعنی no است . پس همان no را انتخاب و به مرحله ی بعد می ریم .
در مرحله بعد باید اکانت اصلی و root مربوط به ldap server را مطابق با کانفیگ سرور وارد کنیم :
حال از شما پسورد حساب کاربری را می پرسد که باید آن را مطابق با یوزری که در مرحله ی بعد وارد کردید , وارد کنید :
Configure Client
تمام ! بعد از به پایان رسیدن مراحل پیشنهاد می شود تا دوباره اطلاعات وروی را چک کنید . برای این منظور می توان دوباره به شکل زیر به صفحه ی کانفیگ وارد شد :
dpkg-reconfigure libnss-ldap
حال باید فایل کانفیگ زیر را با یک ویرایشگر باز کرد :
nano /etc/ldap/ldap.conf
و به دنبال دو جمله ی زیر گشت :
#BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666
حال # را از ابتدای دو جمله ی بالا برداشته و آن را مطابق با سرور خودتون ویرایش کنید . به عنوان مثال مطابق با سناریو :
BASE dc=oslearn,dc=ir URI ldap://109.100.23.1
حال فایل زیر را باز کرده :
nano /etc/nsswitch.conf
و به دنبال جملات زیر بگردید :
passwd: compat group: compat shadow: compat netgroup: nis
در مرحله ی بعد عبارت ldap را به 3 خط اول اضافه و در خط 4 جایگزین می کنیم . یعنی :
passwd: compat ldap group: compat ldap shadow: compat ldap netgroup: ldap
پر نهایت سرویس nscd را راه اندازی مجدد می کنیم :
/etc/init.d/nscd restart
PAM Configuration
در این مرحله فایل common-auth را با یک ویرایشگر باز می کنیم :
nano /etc/pam.d/common-auth
و به دنبال جملات زیر می گردیم :
auth [success=2 default=ignore] pam_unix.so nullok_secure auth [success=1 default=ignore] pam_ldap.so use_first_pass auth requisite pam_deny.so auth required pam_permit.so
و آن ها را مطابق با جملات زیر جایگذاری می کنیم :
auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass auth [success=1 default=ignore] pam_ldap.so use_first_pass auth requisite pam_deny.so auth required pam_permit.so
مطابق قسمت قبل باز فایل زیر با ابتدا با یک ویرایشگر باز کرده :
nano /etc/pam.d/common-account
سپس مطمئن می شیم که جملات زیر دقیقا در فایل کانفیگ وجود دارند :
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so account [success=1 default=ignore] pam_ldap.so account requisite pam_deny.so account required pam_permit.so
مطابق قسمت قبل فایل زیر را ابتدا با یک ویرایشگر باز کرده :
nano /etc/pam.d/common-password
سپس مطمئن می شیم که جملات زیر دقیقا در فایل کانفیگ وجود دارند :
password [success=2 default=ignore] pam_unix.so obscure sha512 password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass password requisite pam_deny.so password required pam_permit.so
مطابق قسمت قبل باز فایل زیر را ابتدا با یک ویرایشگر باز کرده :
nano /etc/pam.d/common-session
سپس عبارت زیر را به آخر فایل اضافه می کنیم :
session required pam_mkhomedir.so
در نهایت فایل common-session-noninteractive را با یک ویرایشگر باز کرده :
nano /etc/pam.d/common-session-noninteractive
سپس مطمئن می شیم که جملات زیر دقیقا در فایل وجود دارند :
session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session required pam_unix.so session optional pam_ldap.so
در نهایت nscd را راه اندازی مجدد می کنیم :
/etc/init.d/nscd restart
Log In To LDAP Server
تمام ! حالا برای گرفتن لیست passwd از روی سرور LDAP از دستور getent به شکل زیر استفاده می کنیم :
root@ubuntu:~# getent passwd
به خط آخر توجه کنید , یوزر oslearn که در ldap server ساخته شده بود اضافه شده است . حال به شکل زیر داخل این یوزر لاگین می کنیم :
elab@ubuntu:~$ su - oslearn
همان طور که مشاهده می کنید به صورت موفقیت آمیز وارد اکانت شدیم . هم چنین یوزر oslearn مطابق با گروهی که در ldap server در قسمت قبل ساختیم عضو گروه OSGroup قرار دارد .
موفق و موید باشید .
منبع : او اس لرن دات آی آر | http://OSLearn.ir
نویسنده : E2MA3N