Pardus sistemlerinde sssd.conf dosyası yapılandırma ve Lider Ahenk entegrasyonu rehberi.
|

Pardus Kurumsal Entegrasyonun Kalbi: sssd.conf Yapılandırma Rehberi

Kurumsal bir ağda Pardus istemcilerin yönetimi, kullanıcıların merkezi bir dizin servisi (Active Directory) üzerinden kimlik doğrulaması yapabilmesini gerektirir. Bu noktada devreye giren SSSD (System Security Services Daemon), uzak dizin kaynakları ile yerel sistem arasındaki köprüdür. SSSD, sadece kimlik doğrulamakla kalmaz, aynı zamanda ağ kesintilerinde “çevrimdışı oturum açma” (offline login) yeteneği sağlayarak sistem sürekliliğini korur.

Amaç ve Kapsam

Bu makalede, bir Pardus istemcisinin Active Directory ve Lider Ahenk ekosistemine dahil edilmesi sürecinde kullanılan /etc/sssd/sssd.conf dosyasını teknik detaylarıyla inceleyeceğiz.

  • SSSD bölümlerinin (NSS, PAM, Domain) görevlerini anlamak.
  • Kritik parametrelerin çalışma prensiplerini analiz etmek.
  • Lider Ahenk ve merkezi yönetim süreçlerindeki rolünü kavramak.

Önkoşullar

  • İşletim Sistemi: Pardus 21/23/25.
  • Yetki: sudo veya root erişimi.
  • Gerekli Paketler: sssd, sssd-ad, realmd, adcli.
  • Dosya Yolu: /etc/sssd/sssd.conf (Bu dosyanın izinleri güvenlik gereği mutlaka 600 olmalıdır).

Teknik İnceleme: sssd.conf Analizi

Bölün bölüm örnek konfigürasyon inceleyelim.

[nss] ve [pam] Bölümleri

Bu bölümler, SSSD’nin sistem servisleri ile nasıl etkileşime gireceğini belirler.

[nss]
filter_groups = root,adm
filter_users = root,adm
reconnection_retries = 3
  • filter_users/groups: Sistemin yerel hesaplarını (root, adm gibi) merkezi dizinde (AD) aramasını engeller. Bu, ağda bir “root” kullanıcısı olsa bile yerel root hesabının önceliğini ve güvenliğini korur.
  • reconnection_retries: SSSD servisi bir şekilde çökerse veya bağlantı koparsa, yeniden bağlanmak için 3 kez deneme yapar.

[sssd] Genel Yapılandırma

[sssd]
domains = testdc.local
config_file_version = 2
services = nss, pam
  • domains: SSSD’nin hangi etki alanlarını yöneteceğini söyler. Birden fazla domain virgülle ayrılabilir.
  • services: SSSD’nin hangi alt servisleri (İsim servisi ve Kimlik doğrulama) sunacağını belirtir.

[domain/testdc.local] – Asıl Operasyonel Ayarlar

Bu kısım, Pardus’un etki alanıyla olan tüm “akrabalık” ilişkisini yönetir.

  • id_provider = ad & access_provider = ad: Sistemin hem kimlik bilgilerini hem de erişim yetkilerini Active Directory üzerinden alacağını belirtir. En optimize seçenektir.
  • cache_credentials = True: Kritik! Kullanıcı şifresini yerelde şifreli olarak önbelleğe alır. Eğer etki alanı sunucusuna (DC) ulaşılamazsa (ağ kablosu takılı değilse), kullanıcı daha önce giriş yapmışsa oturum açabilir.
  • ldap_id_mapping = True: Windows SID’lerini (Security Identifier) otomatik olarak Linux UID/GID formatına çevirir. Bu sayede AD tarafında manuel bir “Unix Attributes” tanımlamanıza gerek kalmaz.
  • use_fully_qualified_names = False: Kullanıcının giriş yaparken kullanici@testdc.local yerine sadece kullanici yazmasına olanak tanır. Kullanım kolaylığı sağlar.
  • fallback_homedir = /home/%u: Etki alanı kullanıcısı giriş yaptığında ev dizininin nerede oluşturulacağını belirler. /home/testdc.local/kullanici yerine doğrudan /home/kullanici oluşturulmasını sağlar.
  • ad_gpo_access_control = permissive: GPO (Grup Politikası) üzerinden gelen erişim kısıtlamalarını denetler ancak “permissive” (izin verici) modda olduğu için kısıtlamaları tam uygulamaz, sadece loglar. Üretim ortamında kısıtlama isteniyorsa enforcing yapılmalıdır.

Lider Ahenk Entegrasyonundaki Rolü

Lider Ahenk, Pardus sistemlerini merkezi olarak yönetirken SSSD’ye doğrudan ihtiyaç duyar.

  1. Politika Dağıtımı: Lider Ahenk üzerinden bir kullanıcı grubuna yetki tanımladığınızda, SSSD bu yetkiyi AD üzerinden kontrol ederek kullanıcının bilgisayara giriş yapıp yapamayacağına karar verir.
  2. Ajan Etkileşimi: Lider Ahenk ajanı, sistemdeki kullanıcı bilgilerini sorgularken SSSD’nin sağladığı nss servisini kullanır. SSSD durursa, Lider Ahenk etki alanı kullanıcılarını tanıyamaz.

Test ve Doğrulama

Yapılandırmanın doğruluğunu şu komutlarla test edebilirsiniz:

  • Konfigürasyon Kontrolü:
sudo sssd -i -d 4 # SSSD'yi interaktif ve debug modda başlatır, hataları anlık gösterir.Code language: PHP (php)
  • Kullanıcı Sorgulama:
getent passwd etki_alani_kullanici_adi

Eğer çıktı alabiliyorsanız, SSSD başarıyla AD ile konuşuyor demektir.

Dikkat Edilmesi Gerekenler

  • Dosya İzinleri: ls -l /etc/sssd/sssd.conf komutu çıktısında izinler -rw------- (600) olmalıdır. Aksi halde SSSD servisi güvenlik gerekçesiyle çalışmayı reddeder.
  • Zaman Senkronizasyonu: Eğer Pardus saati ile Domain Controller saati arasında 5 dakikadan fazla fark varsa, Kerberos biletleri geçersiz sayılır ve SSSD üzerinden giriş yapılamaz.

Sıkça Sorulan Sorular

SSSD servisi çalışıyor ama etki alanı kullanıcısı ile giriş yapamıyorum?

Kerberos biletini kontrol edin (kinit kullanici_adi). Eğer bilet alabiliyorsanız sorun SSSD’dedir; alamıyorsanız şifre veya zaman senkronizasyonu hatası olabilir.

Offline giriş (cache_credentials) neden çalışmıyor?

Kullanıcının ağ bağlıyken en az bir kez başarılı giriş yapmış olması gerekir. Ayrıca krb5_store_password_if_offline = True parametresinin varlığından emin olun.

use_fully_qualified_names ayarını değiştirdim ama hala eski formatı istiyor?

SSSD önbelleğini temizlemeniz gerekir: sudo sss_cache -E komutunu çalıştırın ve servisi yeniden başlatın.

Lider Ahenk arayüzünde kullanıcılar görünmüyor?

SSSD konfigürasyonundaki enumerate = false ayarı buna sebep olabilir. Ancak true yapılması kurumsal ve kalabalık ağlarda ciddi performans kaybına yol açar.

SSSD.conf dosyasında yaptığım değişiklikler neden uygulanmıyor?

Her değişiklikten sonra sudo systemctl restart sssd komutuyla servisi yeniden başlatmalısınız.

İlginizi Çekebilir