پرش به محتوا

عضو کردن سرور Ubuntu در Active Directory

با realmd و SSSD سرور لینوکس را عضو دامین ویندوز کنید تا کاربران دامین با همان نام کاربری و رمز وارد شوند و گروه‌های AD دسترسی sudo بگیرند.

Ubuntu 24.04 LTSسطح: متوسطبرای: Ubuntu 24.04 LTS، Ubuntu 26.04 LTS، Ubuntu 22.04 LTSبه‌روزرسانی: ۱۶ آبان ۱۴۰۵

پیش‌نیاز: DNS سرور باید به Domain Controller اشاره کند و ساعت دو سرور یکی باشد (Kerberos به اختلاف ساعت بیش از ۵ دقیقه حساس است). در این مثال دامین corp.sahor.ir است.

۱. بررسی DNS و زمان

bash
resolvectl status | grep -A2 'DNS Servers'
host -t SRV _ldap._tcp.corp.sahor.ir
timedatectl

۲. نصب ابزارها

bash
sudo apt update
sudo apt install -y realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit krb5-user

اگر هنگام نصب krb5-user نام realm پرسیده شد، با حروف بزرگ بنویسید: CORP.SAHOR.IR

۳. کشف و عضویت

bash
realm discover corp.sahor.ir
sudo realm join -U administrator corp.sahor.ir
realm list

۴. ساده کردن نام کاربری و ساخت خودکار پوشه‌ی خانه

در /etc/sssd/sssd.conf، بخش دامین:

ini
use_fully_qualified_names = False
fallback_homedir = /home/%u
bash
sudo pam-auth-update --enable mkhomedir
sudo systemctl restart sssd
id ali.ahmadi

۵. محدود کردن ورود به گروه‌های خاص

به‌طور پیش‌فرض همه‌ی کاربران دامین می‌توانند وارد شوند. فقط گروه مدیران لینوکس را مجاز کنید:

bash
sudo realm deny --all
sudo realm permit -g 'Linux Admins'

۶. دسترسی sudo برای یک گروه AD

bash
echo '%linux\ admins ALL=(ALL:ALL) ALL' | sudo tee /etc/sudoers.d/ad-linux-admins
sudo chmod 440 /etc/sudoers.d/ad-linux-admins
sudo visudo -cf /etc/sudoers.d/ad-linux-admins

۷. آزمایش

bash
ssh ali.ahmadi@web01
sudo -l

خروج از دامین در صورت نیاز: sudo realm leave corp.sahor.ir