Context: Organizația noastră a folosit NIS de peste 20 de ani pentru autentificarea UNIX/Linux, continuând până în prezent. Windows și Active Directory au apărut în organizația noastră cu aproximativ 16 ani în urmă, dar AD nu a fost niciodată folosit pentru autentificarea Linux (folosind doar RHEL/CentOS și Ubuntu Linux acum, toate celelalte *nix au căzut pe margine.) Deci, pe toate resursele noastre Linux, încă folosim intervale UID/GID tradiționale pentru fișierele utilizatorilor.
Acum, conducerea a dictat în sfârșit că trebuie să trecem la AD pentru autentificarea Linux și să încetăm să mai folosim NIS (nici un argument real acolo;) și așa că lucrăm la utilizarea SSSD pentru a face acest lucru (care pare a fi popular [doar?] modalitate de integrare a autenticării Linux împotriva AD.) Problema cu care ne confruntăm este cum să asociem vechile valori UID și GID bazate pe NIS pentru utilizatori cu noua lor identitate bazată pe AD. De exemplu, utilizatorul meu AD-auth'd pe un sistem de testare are acest lucru de la getent passwd -s sss wdennis
:
root@vm01:~# getent passwd -s sss wdennis
wdennis:*:140001116:140000513:Will Dennis:/home/wdennis:/bin/bash
Deci, evident, UID/GID este generat automat și nu corespunde cu valorile noastre actuale NIS. Făcând unele cercetări despre AD și schema acesteia, văd că atributele utilizatorului includ următoarele:
uidNumber
gidNumber
unixHomeDirectory
loginShell
Întrebarea mea, poate SSSD (sau orice folosim pentru autentificare) să consume cumva valorile uidNumber
și gidNumber
pentru a mapa UID-ul/GID-ul existent al fișierelor la noul utilizator autorizat AD? Sau, cum altfel putem asocia informațiile existente despre proprietatea fișierului cu utilizatorii autorizați AD? (Din cauza numărului de fișiere și mașini care le au, nu este cu adevărat posibil să chown
fișierele către noile vale UID/GID...)