Linux/Pardus işletim sistemini Active Directory domainine dahil etmeyi bu yazıda anlatacağım. Ortamda Active Directory yapınız varsa eminim pek çok yerde kullanıcı adı ve şifre olarak Domain hesabı kullanıyorsunuzdur. Böylelikle tüm kullanıcılarınız her uygulama/sistem için ayrı şifrelerle boğuşmuyordur. Kullanıcı bilgisayarına Pardus yada diğer Linux dağıtımlarından birini yüklediğinizde varsayılanda tıpkı windowslarda da olduğu gibi lokal bir kullanıcı hesabı verirsiniz ve bu hesap ile domain hesabının şifreleri birbirinden bağımsız olur. Linux/Pardus dağıtımınızı domaine dahil ederek kullanıcının yine bilgisayarını domain kullanıcı adı ve şifresi ile açmasını sağlayabilirsiniz.
Linux/Pardus domaine alındığın da GPO ile yönetilemez…
Başlayalım.
Bu yazıda Pardus 17.2 XFCE kullanılmıştır. Hostname Muhasebe dir.

Görüldüğü gibi /home dizinimde sadece lokal kullanıcı olan “onuraydin” için bir dizin bulunmakta.
Şimdi Domaine almak için yapılması gereken adımlara geçelim. Benim senaryoda domain adı “astronur.com” olarak girilecek. Siz kendi yapınıza göre o kısımları güncelelyin.
- Öncelikle Pardus bilgisayarın Doman Controller a erişiminin olduğundan emin olalım.
- Daha sonra işlemler için gerekli paketleri aşağıdaki kodu root yetkisine sahip bir kullanıcı ile çalıştıralım. Yapacağımız tüm işlemler root yetkisi gerektirdiğinden işlemlere bağlamadan önce root yetkisinde bir kullanıcıya geçmenizi öneririm.
1apt-get install realmd samba-common krb5-user packagekit samba-common-bin samba-libs adcli ntp winbind samba libnss-winbind libpam-winbind krb5-config krb5-locales krb5-user ntpdate - Kurulum esnasında aşağıdaki gibi “Configuring Kerberos Authentication” pop-up penceresi çıkarsa buraya domain adınızı BÜYÜK HARFLERLE yazın. Benim ekran resminde küçük yazdığıma bakmayın.
Configuring Kerberos Authentication Ekranı (Büyültmek için tıklayın) - Kerberos sunucusunun FQDN ini girelim. Küçük harf girebilirsiniz.
Configuring Kerberos Authentication Ekranı - Administrative server for your Kerberos realm için yine Domain Controller sunucumuzun FQDN girelim. Küçük harf girebilirsiniz.
Administrative server for your Kerberos Ekranı - Üç, Dört ve beşinci adımlardak ekranlar çıkmazsa buradan başlayabilirsiniz. Domain Controller ile sağlıklı iletişim kurabilmek için sistem saati eşit olmalıdır (Varsayılanda 5 dakikaya kadar fark sorun olmaz) Bunun için “/etc/ntp.conf” dosyasını düzenleyerek varsayılanda gelen ntp sunucuları satırlarını kapatalım, altına kendi Domain Controller sunucumuzun FQDN girelim.
ntp.conf dosyasının düzenlenmesi pool 0.debian.pool.ntp.org satırlarının (4 satır) önüne # işareti ekleyerek kapatalım ve altına “server astronur.com” yazalım. “astronur.com” yazdığımız için DNS den roun Robin tüm DC ler çözülecektir.
- Aşağıdaki komut ile ntp servisini yeniden başlatarak yaptığımız konfigürasyon değişikliğini etkin hale getirelim.
1service ntp restart
- İstemci ile Domain Controller arasındaki saati eşitlemek için aşağıdaki komutu çalıştıralım.
12ntpdate -q astronur.comntpdate astronur.com
- “/etc/realmd.conf” dosyasını açın, yoksa oluşturun ve aşağıdaki şekilde ayarlayın.
1234567891011121314[users]default-home = /home/%D/%Udefault-shell = /bin/bash[active-directory]default-client = winbindos-name = Pardusos-version = 17.2[service]automatic-install = no[astronur.com]fully-qualified-names = noautomatic-id-mapping = yesuser-principal = yesmanage-system = no
Buradaki os-name olarak Pardus girelim. os-version kısmına da 17.2 yazalım. Çünkü benim test pardusum Pardus 17.2
- “/etc/krb5.conf” dosyasında “default realm” değerini “ASTRONUR.COM” olarak değiştirelim. BÜYÜK HARFLE YAZMAYA DİKKAT EDELİM.
krb5.conf - Aşağıdaki Komutu çalıştıralım.
1realm discover
yukarıdaki gibi görünecektir.
- Aşağıdaki komutu çalıştıralım. Komutu çalıştırınca parola soracak, girelim.
1realm join -v -U domainealmayayetkilikullaniciadi astronur.com
aşağıdaki gibi çıktı olacak
realm join ekranı - Aşağıdaki komutu çalıştıralım
1kinit domainealmayayetkilikullaniciadikinit komutu - “/etc/samba/smb.conf” dosyasını aşağıdaki gibi düzenleyelim. Dosya kalabalık ancak aşağıdaki kod bölümünü bulup realm kısmını büyük harften küçük harfe çevirin ve kırımızı bölümü ekleyin.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546#======================= Global Settings =======================[global]## Browsing/Identification #### Change this to the workgroup/NT-domain name your Samba server will part ofworkgroup = ASTRONUR############ Misc ############# Using the following line enables you to customise your configuration# on a per machine basis. The %m gets replaced with the netbios name# of the machine that is connecting; include = /home/samba/etc/smb.conf.%m# Some defaults for winbind (make sure you're not using the ranges# for something else.); idmap uid = 10000-20000; idmap gid = 10000-20000; template shell = /bin/bash# Setup usershare options to enable non-root users to share folders# with the net usershare command.# Maximum number of usershare. 0 (default) means that usershare is disabled.; usershare max shares = 100# Allow users who've been granted usershare privileges to create# public shares, not just authenticated onesusershare allow guests = yeskerberos method = system keytabtemplate homedir = /home/%D/%Utemplate shell = /bin/bashsecurity = adsrealm = ASTRONUR.COMidmap backend = tdbidmap gid = 10000-2000000idmap uid = 10000-2000000winbind use default domain = yeswinbind refresh tickets = yeswinbind offline logon = yeswinbind enum groups = yeswinbind enum users = yesclient use spnego = yesclient ntlmv2 auth = yes
- “/etc/nsswitch.conf” dosyasını açıp compat olan yerleri compat winbind olarak değiştirelim.
nsswitch.conf içeriği - Aşağıdaki komutları çalıştırın.
1service winbind restart; service nmbd restart; service smbd restart
- Aşağıdaki komutu çalıştırın. Logon failure verecek, önemli değil.
1net ads join -U domainealmayayetkilikullaniciadi
- Aşağıdaki komutu çalıştırın.
1net ads join -k
net ads join - Bu noktadan sonra herşey düzgün yapıldıysa wbinfo -u komutla Domaindeki kullanıcıları listeleyebilmeniz gerek.
wbinfo -u - Aşağıdaki komutu çalıştıralım. Gelen ekranda tüm seçeneklerin seçili olduğundan emin olup Tamam a basalım
1pam-auth-update
- Oturum açan her kullanıcı için /home dizini altında ayrı dizinlerde profil açılması için aşağıdaki komutu da çalıştıralım.
1echo 'session required pam_mkhomedir.so skel=/etc/skel umask=0077' >> /etc/pam.d/common-account
- Şimdi Pardus u yeniden başlatalım ve login ekranında aşağıdaki gibi Diğer i seçerek domain kullanıcı hesabımızı girelim.
Pardus Login Ekranı - Ve masaüstümüz karşımızda. Kullanıcıların profillerinin bulunduğu /home dizininin altında ASTRONUR alt dizini ve bu alt dizinin içinde derya.aydin dizinini görebilirsiniz.
/home dizini
Active Directory de oluşan bilgisayar hesabına baktığımızda 9. adımdaki /etc/realmd.conf dosyasının içine yazdığımız değerin işlendiğini görürüz.

Ayrıca domaine aldıktan sonra derya.aydin kullanıcısının parolasını değiştirdiğimde eski parola ile oturum açamadığımı da teyit ettim.
Pardusa oturum açan bir kullanıcı için aşağıdaki Event Log lar yazılmaktadır.

Ayrıca Bu Linkte hemen hemen benzer başka bir yazı da var. Benim anlattıklarımla yapamazsanız birde bu yazıyı incelemek isteyebilirsiniz.
Hocam selamlar,
21. maddedeki umask değerini 0022 yerine 0077 yazarsanız sorununuz çözülecektir.
echo ‘session required pam_mkhomedir.so skel=/etc/skel umask=0022’ >> /etc/pam.d/common-account
İyi çalışmalar dilerim.
Çok teşekkürler. O şekilde güncelledim.
tam bir işkence. her makine için 23 tane adım uygulamak çok saçma bir durum becerikli open sorscular bi yazılım yapamamışmı. lanet olsun böyle ücretsiz yazılıma
Merhaba evet adımlar uzun biraz. Pardus ekibinden görüştüğüm kişi bunları bir deb paketinde toplayıp bir deb paketi yayınlayacaklarını iletti. Merakla bekliyoruz.