Son günlerde LDAP kimlik doğrulaması ile bir Linux sistemi kurdum ve her şey iyi çalışıyor, ancak yine de çok fazla araştırmadan sonra NSS ve PAM ile ilgili gerçekten anlayamadığım bir şey var.
Anmak:
NSS, yöneticilerin kimlik doğrulama dosyalarının, ana bilgisayar adlarının ve diğer bilgilerin depolanacağı ve aranacağı kaynakların bir listesini belirlemesine olanak tanır
ve
PAM, uygulamalar ve temel işletim sistemi için yapılandırılabilir bir kimlik doğrulama platformu sağlayan bir dizi kitaplıktır
Anlamadığım şey, PAM ve NSS'nin birlikte nasıl çalıştığı ve etkileşime girdiği. Gelen bu kitapta mimarisi oldukça iyi açıklanmıştır: kullanımına ı yapılandırmak PAM pam_ldap
LDAP hesapları için ve pam_unix
yerel hesaplar için, o zaman yapılandırmak nsswitch.conf
yerel dosya ve LDAP'den bilgi almak için.
Eğer doğru anladıysam LDAP iki kez kullanılır: önce pam_ldap
ve sonra kendisi denilen NSS tarafından pam_unix
. Bu doğru mu? LDAP gerçekten iki kez kullanılıyor mu? Ama neden hem NSS hem de PAM'yi yapılandırmam gerekiyor? Açıklamam, PAM'ın NSS'den farklı görevleri yerine getirmesi ve diğer programlar tarafından kullanılmasıdır. Ancak, bu sayfada okuduğum gibi sadece NSS veya sadece PAM kullanmak mümkün olmalıdır .
Bu yüzden biraz denedim ve ilk olarak LDAP'yi silmeye çalıştım nsswitch.conf
(ve kimlik doğrulama sadece pam_ldap işi yapmak için yeterli değil gibi çalışmayı durdurdu ). Sonra NSS'de LDAP'yi yeniden etkinleştirdim ve PAM yapılandırmasından sildim (bu sefer her şey işe yaradı, sanki pam_ldap
işe yaramaz ve NSS bir kullanıcının kimliğini doğrulamak için yeterli ).
Bunu açıklığa kavuşturmak için bana yardımcı olabilecek biri var mı? Şimdiden çok teşekkürler.
GÜNCELLEME
Şimdi bir şey denedim. Yine bütün kaldırıldı pam_ldap
tüm Pam yapılandırma alanlarında girdileri ve ben de kaldırdık shadow: ldap
dan nsswitch.conf
. Gibi artık tüm sistemde sadece orada hatları şunlardır: passwd: ldap files
ve group: ldap files
içinde nsswitch.conf
. Eh ... LDAP kullanıcılarıyla giriş mükemmel çalışıyor, bu iki satır (artı /etc/ldap.conf
) LDAP yetkilendirmesini yapılandırmak için yeterli.
Bilgimden PAM NSS'den bağımsız, ama testlerim bunu göstermedi. Bu yüzden kendime NSS'yi tamamen devre dışı bırakıp sadece PAM kullanmak mümkün mü diye soruyorum.
getent shadow | grep LDAPUSER
grep LDAPUSER /etc/shadow