Wir haben vor kurzem unseren Samba Server von Ubuntu 6.06.2 auf 8.04.3 hochgezogen, anfangs sah alles sehr gut aus – die PC’s und Benutzer konnten sich wie gewohnt anmelden und auf ihre Daten zugreifen.
Interessanter weise änderte sich das sobald ich im Urlaub war 🙂
Am Urlaub dürfte das allerdings nicht gelegen haben, es hat sich dann heraus gestellt dass Samba 3.0.28a ein neues Schema für LDAP verwendet und zwar hat sich bei den Gruppen was geändert. Durch diese kleine Änderung haben die Gruppenberechtigungen nicht mehr so ganz funktioniert.
Im Zuge der Fehlersuche haben wir auch den Admin-User etwas umgebaut weil’s damit Probleme gab, wir haben den alten Administrator gelöscht und einen neuen angelegt – den haben wir einfach „root“ genannt und entsprechend in der /etc/samba/smbusers Datei Alias Einträge für „Administrator“ angelegt. Wie sich dann später herausstelle (nachdem die Gruppen wieder normal funktionierten) hat aber unser neuer Administrator nicht richtig funktioniert!
Die Anmeldung an der Domäne war kein Problem, auch mit smbclient konnte man auf alles wie gewohnt zugreifen – lediglich auf den Windows PC’s hat der Administrator keine Administrator-Rechte mehr gehabt!
Wenn man den Benutzermanager am Windows PC startete und dort die Gruppe Administrator ausgewählt hat, dann konnte man sehen dass die Gruppe Domain-Admins korrekt zugeordnet war. Nur funktioniert hat sie nicht.
Die lange Suche ging dann den bekannten und in vielen Post zelebrierten Weg über:
net groupmap list
pdbedit -L -v
net getlocalsid
ldapsearch -E -LL -x -h ldapsrv -D cn=root,dc=domainname,dc=com -b dc=domainname,dc=com
getent group
Löschen und Neuanlegen der Admin-Gruppe mit:
smbldap-groupadd -a -g 512 -o -r 512 -s S-1-5-21-710009937-1416781100-2543843636-512 -t domain „Domain Admins“
Auch der Zugriff auf IPC$ mit dem User nobody funktionierte ohne Probleme.
Die Suche mit „strings“ in einer NTUser.dat Datei nach S-1 bzw. nach SSID’s brachte keine bahnbrechenden Erkenntnisse. Alles in allem sah alles aus wie’s aussehen musste, es funktionierte aber nicht so wie’s sollte!
Samba im Debug Modus 10 brachte dann jede Menge riesen großer Logfiles und einen Verdacht, beim Anmelden des Benutzers am Windows Rechner fanden sich im Samba-Logfile der Anmeldung Einträge wie der folgende:
init_group_from_ldap: Entry found for group: 513
Wobei die Gruppe 513 ja bekannt dafür ist dass es die Domänen Benutzer sind, meiner Meinung nach sollte da aber auch irgendwo die 512 (Domänen Admins) vorkommen – tat sie aber nicht.
Meine Vermutung war dass sich der Administrator user den ich auf root umbenannt habe irgendwo mit dem vorhandenen root-User von Linux in die Quere kommt. Diese Vermutung wurde dann durch den Befehl „getent passwd“ verstärkt, weil sich dort zwei root-User fanden – einer mit der Gruppe 0 und einer mit der Gruppe 512!
Nachdem ich den root-User im LDAP von root auf administrator geändert und entsprechend auch die Einträge in /etc/samba/smbusers und den Gruppen angepasst hatte, konnte ich wieder ohne Probleme unter Windows meinen Administrativen Tätigkeiten nachgehen.
Ein eigenartiges Gefühl ist das wenn man einerseits kotzen und gegen die Wand laufen könnte und andererseits überglücklich ist und einem ein riesen Stein vom Herzen fällt! Zweiteres überwiegt, mit einem faden Beigeschmack von was hätte ich in der Zeit alles erledigen können…
Hauptsache es läuft wieder und gelernt hab ich bei der Aktion auch wieder jede Menge – im Unterschied zu Windows gibts bei Linux ja jede Menge hilfreiche Debug Infos, irgendwas findet sich dann irgendwie immer um ein Problem zu lösen. Auch wenn’s manches Mal jede Menge Zeit kostet. Die Zeit sehe ich aber meist als Investition in die Zukunft, man lernt ja mit jedem Problem dazu!
Vielen liebe Dank für diesen Blog Eintrag – musste ebenfalls lediglich den SMB Root user umbenamsen!