جهاز Linux في مجال Windows AD باستخدام sssd و krb5

كانت هناك حاجة لإدخال جهاز Ubuntu في مجال Windows. لهذه الأغراض ، وعادة ما تستخدم سامبا وينبيند. ولكن البديل ممكن مع sssd ، دليل موجز له أدناه.

على سبيل المثال ، سوف نستخدم:

المجال = contoso.com
وحدة تحكم المجال = dc.contoso.com

إطلاق محطة أوبونتو:

1. التبديل إلى الجذر

sudo -i 

2. تثبيت الحزم اللازمة

 apt install sssd heimdal-clients msktutil 

3. نقوم بتحرير /etc/krb5.conf ، يتم استخدام علامات التبويب كمسافات بادئة

 [libdefaults] default_realm = CONTOSO.COM [realms] CONTOSO.COM = { kdc = DC admin_server = dc.contoso.com default_domain = contoso.com } [login] krb4_convert = true krb4_get_tickets = false [domain_realm] .contoso.com = CONTOSO.COM contoso.com = CONTOSO.COM 

4. قم بتحرير الملف / etc / hosts ، حدد FQDN لهذا المضيف:

 127.0.0.1 localhost 127.0.1.1 <hostname>.contoso.com <hostname> 

5. نحاول الحصول على تذكرة Kerberos نيابة عن مسؤول المجال:

 root@ubuntu:~# kinit YourDomainAdmin YourDomainAdmin@CONTOSO.COM's Password: 

نتحقق من:

 root@ubuntu:~# klist Credentials cache: FILE:/tmp/krb5cc_0 Principal: YourDomainAdmin@CONTOSO.COM Issued Expires Principal Dec 1 15:08:27 2018 Dec 2 01:08:22 2018 krbtgt/CONTOSO.COM@CONTOSO.COM 

إذا تم استلام البطاقة بنجاح ، يمكن الآن إنشاء مبادئ Kerberos لهذا المضيف ، يكون السجل مهمًا:

 msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME.contoso.com -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com —user-creds-only msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com --user-creds-only 

الآن يجب أن يظهر مضيفنا في قائمة أجهزة الكمبيوتر في الدليل. إذا كان الأمر كذلك ، فاحذف تذكرة Kerberos المستلمة:

 kdestroy 

6. قم بإنشاء الملف /etc/sssd/sssd.conf بالمحتويات التالية:

 [sssd] services = nss, pam config_file_version = 2 domains = contoso.com [nss] entry_negative_timeout = 0 debug_level = 3 [pam] debug_level = 3 [domain/contoso.com] debug_level = 3 ad_domain = contoso.com ad_server = dc.contoso.com enumerate = false id_provider = ad auth_provider = ad chpass_provider = ad access_provider = simple simple_allow_groups = users #   ,  .   —       . ldap_schema = ad ldap_id_mapping = true fallback_homedir = /home/%u default_shell = /bin/bash ldap_sasl_mech = gssapi ldap_sasl_authid = <HOSTNAME>$ ldap_krb5_init_creds = true krb5_keytab = /etc/sssd/<HOSTNAME>.keytab 

وصف معلمات ملف التكوين sssd يمكن العثور عليها هنا

تعيين أذونات لملف sssd.conf:

 chmod 600 /etc/sssd/sssd.conf 

أعد تشغيل خدمة SSSD

 service sssd restart 

7. تحرير إعدادات PAM

حل سيء:

تحرير الملف / etc / pam.d/common-session ، بعد السطر

 session required pam_unix.so 

إضافة خط

 session required pam_mkhomedir.so skel=/etc/skel umask=0022 

حل جيد:

تجاوز المعلمات من خلال إعدادات نظام PAM ، اتصل

 pam-auth-update 

وتحقق من المصادقة sss و makehomdir البنود . هذا سيضيف تلقائيا
السطر أعلاه في الجلسة العامة ولن يتم الكتابة عليه عند تحديث النظام.

الآن يمكننا تسجيل الدخول على الجهاز لمستخدمي المجال المسموح لهم بتسجيل الدخول.

ملاحظة: يمكنك منح الحق في استخدام مجموعات المجال sudo. باستخدام visudo ، قم بتحرير الملف / etc / sudoers ، أو أفضل ، كما يوصي maxzhurkin و iluvar ، قم بإنشاء ملف جديد في /etc/sudoers.d/ وقم بتحريره

 visudo -f /etc/sudoers.d/_ 

أضف المجموعة المطلوبة - على سبيل المثال ، Domain Admins (إذا كانت هناك مسافات في اسم المجموعة - فيجب تخطيها):

 %Domain\ Admins ALL=(ALL) ALL 


PSS: شكرًا جزيلاً للمعلومات على realmd. إنها مريحة للغاية - إذا لم تكن هناك حاجة إلى إعدادات محددة ، فإن إدخال جهاز في مجال ما يتطلب في الواقع ثلاثة أوامر:
1. تثبيت الحزم اللازمة:
 sudo apt install realmd samba-common-bin samba-libs sssd-tools krb5-user adcli 

2. تحقق من أن مجالنا مرئي على الشبكة:
 realm discover contoso.com 

3. أدخل الجهاز في المجال:
 sudo realm --verbose join contoso.com -U YourDomainAdmin --install=/ 

4. تحرير إعدادات PAM
 sudo pam-auth-update 

ميزة إضافية إضافية من هذا الخيار هي التفويض من طرف إلى طرف على موارد ملف المجال.

من أجل عدم تحديد مجال بالإضافة إلى تسجيل الدخول ، يمكنك إضافة لاحقة افتراضية. في الملف /etc/sssd/sssd.conf ، في المقطع [sssd] ، أضف السطر:
 default_domain_suffix = contoso.com 

Source: https://habr.com/ru/post/ar437546/


All Articles