منبع اصلی نوشتار زیر در این لینک قرار دارد

اتصال اوبونتو به LDAP Server

با سلام خدمت دوستان . در پست قبلی در مورد نصب و راه اندازی ldap سرور صحبت کردیم و در آخر به ساخت user پرداختیم . همان طور که در قسمت قبل گفته شده قرار است در این قسمت نحوه ی اتصال یک سیستم لینوکسی دسکتاپ مثل ubuntu به ldap سرور خود را بررسی کنیم .

اگر با active directory در ویندوز سرور کار کرده باشید راحت می توانید مفهوم این عمل را درک کنید . این که چرا یک سیستم برای استفاده و … به یک سرور متصل بشود و دسته ای قوانین و پالیسی ها بر رویش تنظیم شود .

توپولوژی شبکه :

OSLearn.ir_01

Install LDAP client package on ubuntu

ما در این آموزش از اوبونتو به عنوان سیستم کلاینت استفاده می کنیم . پس در مرحله ی اول لازم است بسته های زیر را نصب کنیم :

root@ubuntu:~# apt-get install libnss-ldap libpam-ldap nscd

بعد از دانلود و نصب بسته های بالا , صفحه ی کانفیگ در همان محیط ترمینال برایتان باز می شود که در مرحله ی اول باید آدرس آی پی LDAP سرور را وارد کرد . مطابق توپولوژی فرض شده آدرس را وارد می کنیم :

OSLearn.ir_02

در مرحله ی بعد باید dc را مطابق با کانفیگ سرور پر کنیم . پس ما هم مطابق با سروری که در پست قبلی کانفیگ کردیم اطلاعات را پر می کنیم :

OSLearn.ir_03

در مرحله ی بعد ورژن LDAP را مشخص می کنیم . از اون جایی که ما از ورژن 3 استفاده می کنیم و ورژن شماره 2 را هم غیر فعال کردیم , پس ورژن شماره 3 را انتخاب می کنیم و به مرحله ی بعد می ریم :

OSLearn.ir_04

در مرحله ی بعد از شما سوالی با مضمون Make local root Database admin می پرسد که به آن پاسخی مثبت یعنی yes می دهیم و به مرحله ی بعد می ریم .

در این مرحله باز از شما سوالی با مضمون Does the LDAP database require login می پرسد که پاسخ پیش فرض به این سوال منفی یعنی no است . پس همان no را انتخاب و به مرحله ی بعد می ریم .

در مرحله بعد باید اکانت اصلی و root مربوط به ldap server را مطابق با کانفیگ سرور وارد کنیم :

OSLearn.ir_05

حال از شما پسورد حساب کاربری را می پرسد که باید آن را مطابق با یوزری که در مرحله ی بعد وارد کردید , وارد کنید :

OSLearn.ir_06

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

OSLearn.ir_07

حال فایل زیر را باز کرده :

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

OSLearn.ir_08

پر نهایت سرویس 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

OSLearn.ir_09

مطابق قسمت قبل باز فایل زیر با ابتدا با یک ویرایشگر باز کرده :

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

OSLearn.ir_10

مطابق قسمت قبل فایل زیر را ابتدا با یک ویرایشگر باز کرده :

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

OSLearn.ir_11

در نهایت فایل 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.ir_12

به خط آخر توجه کنید , یوزر oslearn که در ldap server ساخته شده بود اضافه شده است . حال به شکل زیر داخل این یوزر لاگین می کنیم :

elab@ubuntu:~$ su - oslearn

OSLearn.ir_13

همان طور که مشاهده می کنید به صورت موفقیت آمیز وارد اکانت شدیم . هم چنین یوزر oslearn مطابق با گروهی که در ldap server در قسمت قبل ساختیم عضو گروه OSGroup قرار دارد .

 

موفق و موید باشید .

 

منبع : او اس لرن دات آی آر | http://OSLearn.ir

نویسنده : E2MA3N



برچسب ها : , , , , , , , ,