۱. پیشنیازها
- DNS سرور باید روی DCها باشد تا رکوردهای SRV دامین پیدا شوند.
- ساعت با DC هماهنگ باشد، چون Kerberos اختلاف بیش از ۵ دقیقه را نمیپذیرد.
resolvectl status 2>/dev/null | grep 'DNS Servers' || cat /etc/resolv.conf
sudo apt install -y chrony
echo "server dc01.corp.sahor.ir iburst" | sudo tee /etc/chrony/sources.d/ad.sources
sudo systemctl restart chrony && chronyc sources۲. نصب بستهها
sudo apt install -y realmd sssd sssd-tools libnss-sss libpam-sss adcli \
samba-common-bin oddjob oddjob-mkhomedir krb5-userدر پرسش نصب krb5-user، realm را با حروف بزرگ وارد کنید: CORP.SAHOR.IR.
۳. کشف و عضویت
sudo realm discover corp.sahor.ir
sudo realm join --user=Administrator --computer-ou="OU=Linux,OU=Servers,DC=corp,DC=sahor,DC=ir" corp.sahor.ir
sudo realm listحساب کامپیوتر در OU مشخصشده ساخته میشود. بهجای Administrator بهتر است از حسابی استفاده کنید که فقط اجازهی افزودن کامپیوتر به همان OU را دارد.
۴. تنظیم SSSD
در /etc/sssd/sssd.conf بخش دامین را تغییر دهید تا کاربران با ali بهجای ali@corp.sahor.ir وارد شوند:
[domain/corp.sahor.ir]
use_fully_qualified_names = False
fallback_homedir = /home/%u
default_shell = /bin/bash
ad_gpo_access_control = permissiveساخت خودکار پوشهی خانه و راهاندازی دوباره:
sudo pam-auth-update --enable mkhomedir
sudo systemctl restart sssd
id ali۵. محدود کردن ورود
پیشفرض این است که همهی کاربران دامین بتوانند وارد شوند. ورود را به یک گروه محدود کنید:
sudo realm deny --all
sudo realm permit -g linux-adminsدسترسی sudo برای همان گروه:
echo '%linux-admins ALL=(ALL:ALL) ALL' | sudo tee /etc/sudoers.d/ad-admins
sudo chmod 440 /etc/sudoers.d/ad-admins
sudo visudo -cf /etc/sudoers.d/ad-adminsاگر نام گروه فاصله دارد، فاصله را با \` بنویسید: `%linux\ admins.
۶. آزمایش و عیبیابی
ssh ali@debian01.corp.sahor.ir
sudo sssctl domain-status corp.sahor.ir
sudo sss_cache -E # clear cache after changing group membership in AD
sudo journalctl -u sssd -n 50 --no-pagerیک حساب محلی با دسترسی sudo نگه دارید. اگر ارتباط با DC قطع شود، فقط کاربرانی که قبلاً وارد شدهاند از cache میتوانند وارد شوند.