SID-Migration bei einer Samba-Domäne
3. Oktober 2008 | Know-How | 2 Kommentare » | geschrieben von Robert Scheck |Bei unseren Kunden kommt es von Zeit zu Zeit vor, dass ein älterer Server mit einer Samba-Domäne durch neue, leistungsfähigere Hardware ersetzt wird. Hierbei stellt die SID-Migration (Security Identifier) oftmals ein Problem dar, da bei einem neuen Server die SID normalerweise unterschiedlich zum alten Samba-Server ist.
Dieses Problem haben wir recht einfach gelöst, da man seit Samba 3 die SID vom alten Server auf den neuen Server einfach mitnehmen kann – was leider etwas ungünstig und weniger klar dokumentiert zu sein scheint. Wenn nun eine Domäne “ETES” vorhanden ist, so muss man entweder vor der Umstellung oder auf dem alten Server die SID ermitteln:
[root@alt ~]# net getlocalsid ETES SID for domain ETES is: S-1-5-21-6129332212-1304462674-322571322 [root@alt ~]#
Diese SID wird auf den neuen Server übernommen. Zwar kann die SID für jede Domäne ermittelt werden, doch nicht ohne weiteres mit dem gleichen Syntax gesetzt werden: Denn der Aufruf “net setlocalsid” erlaubt ausschließlich die Angabe der SID und keiner Domäne! Und statt der Domäne nimmt Samba scheinbar fast immer den NetBIOS-Namen aus der Samba-Konfiguration an…
Der Trick an dieser Stelle ist nun, in der Datei “/etc/samba/smb.conf” im Abschnitt “[global]” den Wert von “netbios name” temporär auf den Namen der Domäne zu setzen, also z.B.
[global]
netbios name = ETES
Anschließend ist eine Änderung der SID möglich:
[root@neu ~]# set getlocalsid S-1-5-21-6129332212-1304462674-322571322 [root@neu ~]#
Zur Sicherheit sollte das Ergebnis noch einmal geprüft werden:
[root@neu ~]# net getlocalsid ETES SID for domain ETES is: S-1-5-21-6129332212-1304462674-322571322 [root@neu ~]#
Liefert dies jetzt auf dem neuen Server auch wieder die alte SID zurück, so war die Migration erfolgreich und der NetBIOS-Name kann entweder wieder deaktiviert oder auf den alten Wert zurückgestellt werden.
Abschließend können sich die auf die Domäne gejointen Clients mit Microsoft Windows einfach wieder ganz normal an der Samba-Domäne anmelden, als hätte es diese Server-Umstellung nie gegeben – es ist auch kein Rejoin notwendig.
In seltenen Fällen kann es vorkommen, dass die SID nicht mitgenommen werden kann, dann muss zusätzlich zu einem Rejoin in die neue Samba-Domäne auch die SID in der NTUSER.DAT auf die neue aktualisiert werden, andernfalls verweigert Microsoft Windows üblicherweise die Benutzung des Profils:
[root@samba ~]# profiles -c S-1-5-21-6129332212-1304462674-322571322-2056 \ -n S-1-5-21-7623811015-3361044348-030300820-2056 NTUSER.DAT [root@samba ~]#
Falls die alte SID nicht bekannt ist, so kann diese z.B. mit “strings” aus den binutils ermittelt werden:
[root@samba ~]# strings NTUSER.DAT | grep S-1 S-1-5-21-6129332212-1304462674-322571322-2056 S-1- [root@samba ~]#
Mit diesem beschriebenen Weg sollte die Migration einer Samba-Domäne kein schweres oder gar unüberwindbares Hindernis mehr darstellen.
