
مدیریت متمرکز اطلاعات کاربری و پیکربندی امروزه به یک ضرورت تبدیل شده است که OpenLDAP، یک پیاده سازی متن باز از پروتکل دسترسی به دایرکتوری سبک (LDAP)، راه حلی قدرتمند و انعطاف پذیر برای مدیریت اطلاعات دایرکتوری ارائه می دهد. این راهکار به مدیران سیستم اجازه سازماندهی و مدیریت کاربران، گروه ها، دستگاه ها و سایر اشیاء شبکه را به صورت متمرکز ارائه می کند که سبب ساده تر شدن فرآیند های مدیریتی و بهبود امنیت می شود.
راکی لینوکس، به عنوان یک توزیع سازگار، یک پلتفرم پایدار و قابل اعتماد برای استقرار خدمات سازمانی ارائه می دهد. ترکیب OpenLDAP با استحکام و امنیت راکی لینوکس، یک زیرساخت مدیریت دایرکتوری قوی و کارآمد را برای سازمان ها فراهم میکند.
در ادامه نحوه نصب OpenLDAP در راکی لینوکس را قدم به قدم بررسی خواهیم کرد، پس با ما همراه باشید!
OpenLDAP چیست و چرا در راکی لینوکس استفاده می شود؟
OpenLDAP مخفف عبارت Open Light Weight Directory Access Protocol است، این پروتکل کاربردی است به شما این امکان را می دهد تا سرویس های اطلاعات دایرکتوری توزیع شده را از طریق یک ISP ارزیابی و نگهداری کنید.
ویژگی های مهم OpenLDAP در راکی لینوکس
Open LDAP ویژگی های بخصوصی دارد که سبب می شود بسیاری از کاربران از آن استفاده کنند، که در ادامه به چند ویژگی مهم از این پروتکل اشاره شده است:
🔹 رایگان 🔹 Open Source 🔹 قابل تنظیم 🔹 Lightweight
🔹 اتصال احراز هویت آسان به بسیاری از برنامه ها 🔹 دارای پروتکل استاندارد است
✅ مراحل نصب OpenLDAP در راکی لینوکس
در ادامه نصب را در چند مرحله به صورت کامل برای شما بررسی کردیم:
مرحله 1: استفاده از سرویس Firewalld
با سرویس Firewalld می توانید دستور مورد نظر را در این خط فرمان اضافه کنید، محدودیت Firewalld را همراه با این دستور در درگاه 389 ترمینال خود برای ارتباط غیر ایمن اضافه کنید.
- دقت کنید که برای اتصال درگاه ایمن درگاه 636 منحصر به فرد و مخصوص خود کاربر خواهد بود.
firewall-cmd --permanent --add-port=389/TCP
firewall-cmd --permanent --add-port=636/TCP
firewall-cmd --reload
- همچنین لازم است تا بسته های مورد نیاز را نصب کرده و توجه داشته باشید که Sssd، Open LDAP -Clients و Oddjob -Mkhomedir برای کلاینت ضروری هستند.
dnf install wget vim cyrus-sasl-devel libtool-ltdl-devel openssl-devel libdb-devel make libtool autoconf tar gcc perl perl-devel -y
مرحله 2: پیکربندی Symas Open LDAP برای لینوکس
پس از نصب باینری های مورد نیاز، فایل مخزن از پیش تنظیم شده را از مخزن Symas کپی کنید، مراحل زیر نیز باعث می شود LDAP به سرعت راه اندازی و اجرا شود:
اکنون بسته Symas Open LDAP مورد نظر را نصب کنید:
- Symas -Open LDAP -Client
فقط شامل کتابخانه ها و دستورات کلاینت است که از آن در سیستم هایی استفاده می شود، در این حالت دسترسی به Symas Open LDAP ضروری است اما نیازی به نرم افزار سرور نیست.
- Symas -Open LDAP -Nonopt
fla های بهینه سازی را از نصب سرور یا کلاینت استاندارد حذف کرده و عملکرد را کاهش می دهد و قابلیت های حل اشکالات و عیب یابی را افزایش می دهد.
- Symas -Open LDAP
Symas -Open LDAP به معنای نصب کننده سرور، شامل تمام اجزای سرویس گیرنده و سرور مورد نیاز برای ایجاد یک فهرست LDAP کاربردی می باشد.
- Symas -Open LDAP -Devel
این مورد در صورتی استفاده می شود که هدف توسعه نرم افزار بر اساس کتابخانه هایی باشد که بخشی از Symas -Open LDAP هستند.
wget -q https://repo.symas.com/configs/SOFL/rhel8/sofl.repo -O /etc/yum.repos.d/sofl.repo
حال بسته های Symas -Open LDAP -Client و Symas -Open LDAP -Servers را نصب کنید:
dnf install symas-openldap-clients symas-openldap-servers -y
سرویس را استارت کنید:
systemctl start slapd
یک رمز عبور LDAP از یک کلید مخفی ایجاد کنید:
slappasswd -s rocky -n > /etc/openldap/passwd
توجه داشته باشید که مجوز جدید نیاز به تولید X509 برای مدت 365 روز دارد:
openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
محتوا تولید شده را به دایرکتوری /etc/openldap/certs در Master ldap منتقل کنید و Cert.pem را در قسمت کلاینت کپی کنید تا با اتصال LDAP احراز هویت شود:
cd /etc/openldap/certs.
chown ldap:ldap *
chmod 600 priv.pem
مرحله 3: آماده سازی الگوی پایگاه داده موجود در Open LDAP
برای شروع این مرحله ابتدا دستور زیر را اجرا کنید:
cp -r /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
فایل پایگاه داده را ایجاد کنید:
[root@admin ~]#slaptest config file testing succeeded [root@admin~]#
حال مالکیت فایل های پایگاه داده را تغییر دهید:
chown ldap:ldap /var/lib/ldap/*
سرویس Slapd را در هنگام بوت فعال کنید که در این صورت بلافاصله استارت خواهد شد:
systemctl enable slapd --now
اکنون بررسی کنید تا ببینید که آیا سرویس اجرا می شود یا خیر؟
netstat -lt | grep ldap tcp 0 0 0.0.0.0:ldaps 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ldap 0.0.0.0:* LISTEN
رمز عبور Root را تنظیم کنید:
slappasswd New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
vi chroot.ldif # specify the password generated above for "olcRootPW" section dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
ldapadd -Y EXTERNAL -H ldapi:/// -f chroot.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={0}config,cn=config"
مرحله 4: اضافه کردن طرحواره های Cosine ،Nis و Inetorgperson LDAP
برای اضافه کردن طرحواره های نام برده شده دستور زیر را اجرا کنید:
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 adding new entry "cn=cosine,cn=schema,cn=config"
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 adding new entry "cn=inetorgperson,cn=schema,cn=config"
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=inetorgperson,cn=schema,cn=config"
فایل Change.ldif را در پوشه /etc/openldap/ ایجاد کرده و خطوط خروجی که با {SSHA} و {SSHA} XXX ایجاد شده است را توسط Paste Slappasswd کنید:
slappasswd New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
حال نام DB به mdb تغییر کرده است اطلاعات ذخیره شده در پشتیبان mdb را می توانید در etc/openldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif file/ پیدا کنید:
vi /etc/openldap/changes.ldif dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/cert.pem
dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=Manager,dc=example,d c=com" read by * none
پیکربندی را که ورودی اصلی در دایرکتوری LDAP خواهد بود، آن را اضافه کنید:
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}mdb,cn=config"
modifying entry "olcDatabase={2}mdb,cn=config"
modifying entry "olcDatabase={2}mdb,cn=config"
modifying entry "cn=config"
modifying entry "cn=config"
modifying entry "olcDatabase={1}monitor,cn=config"
اکنون می توانید پیکربندی را تایید کنید:
slaptest -u
config file testing succeeded
/etc/openldap/base.ldif را با دستور پیکربندی زیر ایجاد کنید:
vi /etc/openldap/base.ldif dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
dn: ou=People,dc=example,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=example,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
ldapadd -x -w redhat -D cn=Manager,dc=example,dc=com -f /etc/openldap/base.ldif
مرحله 5: ایجاد کاربران با ایجاد فایل Users.ldif
برای ایجاد کاربر باید دستور زیر را اجرا کنید:
vi users.ldif dn: uid=user01,ou=People,dc=example,dc=com
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$zz2TKRQVGLyPJoTU$//n.UkHKrrfkeUQUOund2QbSGRMXjU0GV73o.UlprOB3CxBxmQArsESrNUUHC7v3ZhwojszXGh7LowRSnjWhG.
shadowLastChange: 18818
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/guests/user01
پیکربندی را تست کنید تا از حضور کاربر مطمئن شوید:
ldapsearch -x cn=user01 -b dc=example,dc=com
خروجی باید این گونه باشد:
[root@admin ~]# ldapsearch -x cn=user01 -b dc=example,dc=com #extended LDIF #
#LDAPv3 #base with scope subtree #filter: cn=user01 #requesting: ALL # user01, People, example.com
dn: uid=user01,ou=People,dc=example,dc=com uid: user01 cn: user01 objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword:: e2NyeXB0fSQ2JHp6MlRLUlFWR0x5UEpvVFUkLy9uLlVrSEtycmZrZVVRVU91bmQ yUWJTR1JNWGpVMEdWNzNvLlVscHJPQjNDeEJ4bVFBcnNFU3JOVVVIQzd2M1pod29qc3pYR2g3TG93 UlNualdoRy4= shadowLastChange: 18818 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 1001 gidNumber: 1001 homeDirectory: /home/guests/user01
user01, Group, example.com dn: cn=user01,ou=Group,dc=example,dc=com objectClass: posixGroup objectClass: top cn: user01 userPassword:: e2NyeXB0fXg= gidNumber: 1001
search result search: 2 result: 0 success
numResponses: 3 numEntries: 2
🎯 سخن آخر
Symas OpenLDAP یک جایگزین بسیار مناسب برای کامپایل بسته های OpenLDAP از وبسایت OpenLDAP.org محسوب می شود و تجربه نصب بهینه تری را برای شما فراهم می آورد.
با پیروی از مراحل ذکر شده، نصب OpenLDAP در راکی لینوکس فرآیندی ساده خواهد بود. با این حال، توجه داشته باشید که عدم اجرای صحیح یا از قلم افتادن هر یک از مراحل میتواند منجر به عملکرد نادرست سرویس گردد.
جهت رفع هرگونه مشکل یا ابهام در اجرای دستورات، میتوانید از طریق بخش نظرات در انتهای این مقاله، سوالات و دیدگاه های خود را با کارشناسان فنی ما در میان بگذارید و به سرعت پاسخ دریافت نمایید.
برای حمایت از ما و اطلاع از آخرین اخبار فناوری، آذرسیس را در شبکه های اجتماعی اینستاگرام، یوتیوب، توییتر و سایر پلتفرم ها دنبال نمایید. از همراهی شما سپاسگزاریم.
سیستم با حداقل 4 گیگابایت رم و 2 پردازنده، دسترسی کاربر غیر روت با مجوز های sudo یا روت، فعال بودن مخزن "plus" در راکی لینوکس، حالت SELinux در حالت permissive یا تنظیمات مناسب امنیتی، اتصال اینترنت برای دانلود بسته ها
با استفاده از دستور slappasswd یک رمز عبور هش شده بسازید و آن را در فایل پیکربندی LDAP وارد کنید.