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.
apt-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.
- Kerberos sunucusunun FQDN ini girelim. Küçük harf girebilirsiniz.
- Administrative server for your Kerberos realm için yine Domain Controller sunucumuzun FQDN girelim. Küçük harf girebilirsiniz.
- Üç, 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.
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.
service ntp restart
- İstemci ile Domain Controller arasındaki saati eşitlemek için aşağıdaki komutu çalıştıralım.
ntpdate -q astronur.com ntpdate astronur.com
- “/etc/realmd.conf” dosyasını açın, yoksa oluşturun ve aşağıdaki şekilde ayarlayın.
[users] default-home = /home/%D/%U default-shell = /bin/bash [active-directory] default-client = winbind os-name = Pardus os-version = 17.2 [service] automatic-install = no [astronur.com] fully-qualified-names = no automatic-id-mapping = yes user-principal = yes manage-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.
- Aşağıdaki Komutu çalıştıralım.
realm discover
yukarıdaki gibi görünecektir.
- Aşağıdaki komutu çalıştıralım. Komutu çalıştırınca parola soracak, girelim.
realm join -v -U domainealmayayetkilikullaniciadi astronur.com
aşağıdaki gibi çıktı olacak
- Aşağıdaki komutu çalıştıralım
kinit domainealmayayetkilikullaniciadi
- “/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 arkaplanı sarı olan satırları düzenleyin.
#======================= Global Settings ======================= [global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = 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 ones usershare allow guests = yes kerberos method = system keytab template homedir = /home/%D/%U template shell = /bin/bash security = ads realm = ASTRONUR.COM idmap backend = tdb idmap gid = 10000-2000000 idmap uid = 10000-2000000 winbind use default domain = yes winbind refresh tickets = yes winbind offline logon = yes winbind enum groups = yes winbind enum users = yes client use spnego = yes client ntlmv2 auth = yes
- “/etc/nsswitch.conf” dosyasını açıp compat olan yerleri compat winbind olarak değiştirelim.
- Aşağıdaki komutları çalıştırın.
service winbind restart; service nmbd restart; service smbd restart
- Aşağıdaki komutu çalıştırın. Logon failure verecek, önemli değil.
net ads join -U domainealmayayetkilikullaniciadi
- Aşağıdaki komutu çalıştırın.
net ads join -k
- Bu noktadan sonra herşey düzgün yapıldıysa wbinfo -u komutla Domaindeki kullanıcıları listeleyebilmeniz gerek.
- Aşağıdaki komutu çalıştıralım. Gelen ekranda tüm seçeneklerin seçili olduğundan emin olup Tamam a basalım
pam-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.
echo '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.
- 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.
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.
Güncelleme (23 Ekim 2018) : Pardus belge sayfasında kendi dökümanını yayınlamış.
https://belge.pardus.org.tr/pages/viewpage.action?pageId=10029254 adresinden erişebilirsiniz.
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.
Merhaba; 21. madde de yer alan realm discover komutunu verice configured:no ‘ya kadar var geri kalanı yok. Bu şekilde de join olmuyor. realm bu erişm alanına katılamaz şeklinde uyarı alıyorum.
Selamlar
İşlemler doğrultusunda domaine alabildim. Bilgi için teşekkürler. Fakat domain hesabıyla giriş yapmak istediğimde
hiçbir tepki vermiyor. Sorun nereden kaynaklı olabilir? Pardus Versiyon 17.3
3-4 ve 5. adımlar ekrana çıkmadı. İşlem basamaklarına devam ettim 12. adımdaki realm join komutunu verdiğimde “nsufficient access ! Insufficient permissions to join the domain realm: Erişim alanına katılamadı: Insufficient permissions to join the domain mem.gov.tr
hatası alıyorum yardımcı olursanız sevinirim.
“realm: Bu erişim alanına katılamaz” hatası ben de alıyordum, Pardus kendi dokümanını güncelledi şu an domaine dahil edebildim, sorun yaşayan arkadaşlar sizler de inceleyiniz;
https://belge.pardus.org.tr/pages/viewpage.action?pageId=10029254