Przez dłuższy okres czasu na Linuxach używalismy winbinda do pozyskiwania informacji w linuxach o grupach i użytkownikach. Później przeszliśmy na nss_ldap, ale niestety nss_ldap nie rozwiązywał grup zagnieżdżonych, a dodatkowo wywalał się, gdy w grupie było duzo kont (tzn. więcej niz 1000), a niektóre grupy liczyły powyżej 3000 wpisów. Na szczęście w wersji 2.5.3 w końcu zadziałał parametr --with-ngroups i w końcu zadziałały grupy zagnieżdżone.
Problemem niestety dalej pozostaje nieobecność primaryGroup - tzn. grupa istnieje, ale użytkownicy nie są do niej przypisywani. Wszyscy użytkownicy w domenie, którą mają przypisaną jako primary group Domain Users. Listy dyskusyjne są tworzone z grup AD, więc jak ktoś chciał wysłać wiadomość do wszystkich, to niestety nie miał jak tego zrobić. Rozwiązaniem okazało się utworzenie nowej grupy dystrybucyjnej i dodanie do niej wszystkich głównych grup w domenie tj. studenci, pracownicy.
Innym problemem była konieczność wpisywaniana sztywno nazwy użytkownika i hasła potrzebnego do bindowania do AD w konfigu z możliwością odczytu przez każdego zalogowanego użytkownika. Udało się nam to obejść poprzez uruchomienie nscd, korzystanie z wpisu rootbinddn i ukrytego przed użytkownikami pliku ldap.secret z zapisanym hasłem. Takie rozwiązanie jednak nie pozwala użytkownikowi korzystać z poleceń typu finger lub id, przekazuje bowiem użytkownikowi tylko informację o uid-ach i gui-dach. Jako że użytkownicy są uwierzytelniani za pomocą pam_krb, po zalogowaniu mają bilet kerberosowy i mogą korzystać z SASLa z mechanizmem GSSAPI, a nss_ldap obsługuje te mechanizmy.
Poniżej parę zrzutów z działających konfiguracji:
przełączniki kompilacji do wersji 2.5.3./configure --enable-rfc2307bis --enable-paged-results --with-ngroups=4000 --enable-mssfu-schema
plik ldap.confhost lsd.pjwstk.edu.plbase dc=pjwstk,dc=edu,dc=plrootbinddn XXXXXXXXX@pjwstk.edu.pluse_sasl onSASL_MECH GSSAPISASL_SECPROPS maxssf=0nss_schema rfc2307bisscope subnss_base_passwd ou=pracownicy,dc=pjwstk,dc=edu,dc=pl?subnss_base_passwd ou=studenci,dc=pjwstk,dc=edu,dc=pl?subnss_base_shadow ou=pracownicy,dc=pjwstk,dc=edu,dc=pl?subnss_base_shadow ou=studenci,dc=pjwstk,dc=edu,dc=pl?subnss_base_group ou=pracownicy,dc=pjwstk,dc=edu,dc=pl?subnss_base_group ou=studenci,dc=pjwstk,dc=edu,dc=pl?subnss_base_group cn=Users,dc=pjwstk,dc=edu,dc=pl?onenss_map_objectclass posixAccount usernss_map_objectclass shadowAccount usernss_map_objectclass posixGroup Groupnss_map_attribute uid sAMAccountNamenss_map_attribute loginShell msSFU30LoginShellnss_map_attribute uidNumber msSFU30UidNumbernss_map_attribute gidNumber msSFU30GidNumbernss_map_attribute homeDirectory msSFU30HomeDirectorynss_map_attribute shadowLastChange pwdLastSetnss_map_attribute gecos displayNamenss_map_attribute uniqueMember membernss_map_attribute cn cnpagesize 4000nss_reconnect_tries 3nss_reconnect_sleeptime 2nss_reconnect_maxsleeptime 5nss_reconnect_maxconntries 10plik hosts10.1.1.1 lsd.pjwstk.edu.pl. ldap.pjwstk.edu.pl pjwstk.edu.pl heroina.pjwstk.edu.pl kokaina.pjwstk.edu.pl thc.pjwstk.edu.pl mdma.pjwstk.edu.pl10.1.1.1 thc pjwstk kokaina heroina mdma lsd ldap10.1.1.1 forestDNSzones.pjwstk.edu.pl domainDNSzones.pjwstk.edu.pl10.1.1.1 forestDNSzones domainDNSzonesplik krb5[libdefaults]default_realm = PJWSTK.EDU.PLkdc_timesync = 1ccache_type = 4forwardable = trueproxiable = true[realms]PJWSTK.EDU.PL = {kdc = 10.1.1.10kdc = 10.1.1.1kdc = 10.1.1.2admin_server = 10.1.1.10}[domain_realm].pjwstk.edu.pl = PJWSTK.EDU.PLpjwstk.edu.pl = PJWSTK.EDU.PL[login]krb4_convert = truekrb4_get_tickets = truepotrzbene paczki w debianiedo kompilacji: gcc g++ makeinne: libldap2 libldap2-dev libkrb5-dev
Remember Me