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_ldapLDAP hesapları için ve pam_unixyerel hesaplar için, o zaman yapılandırmak nsswitch.confyerel dosya ve LDAP'den bilgi almak için.
Eğer doğru anladıysam LDAP iki kez kullanılır: önce pam_ldapve 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_ldapiş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_ldaptüm Pam yapılandırma alanlarında girdileri ve ben de kaldırdık shadow: ldapdan nsswitch.conf. Gibi artık tüm sistemde sadece orada hatları şunlardır: passwd: ldap filesve group: ldap filesiç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 LDAPUSERgrep LDAPUSER /etc/shadow