ETES-Weblog

SID-Migration bei einer Samba-Domäne

Gepostet am 03.10.2008 von Robert Scheck in „Know-How“ Kommentare 4

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 ~]# net setlocalsid 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.

Tags dieses Beitrages: Domäne, Migration, Samba
Trackback-URL: http://www.etes.de/system/modules/trackback/trackback.php?id=2510

Bisherige Kommentare

Kommentar von Fossi |

Wo bekomme ich den Befehl "profiles" her?

Kommentar von Robert Scheck |

In Fedora oder Red Hat Enterprise Linux bzw. in darauf basierenden Linux-Distributionen wie CentOS befindet sich "profiles" im Paket "samba-common", das mit "yum install samba-common" nachinstalliert werden kann. Bei openSUSE oder dem SuSE Linux Enterprise Server beinhaltet das Paket "samba-client" den Befehl, das Paket kann dort z.B. mit YaST nachinstalliert werden.

Kommentar von Tim |

Hi,
bei mir klappt das irgendwie nicht. Ich habe es so gemacht wie in deiner Anleitung, aber die andere SID bleibt auf dem neuen Server. Gibts noch eine Möglichkeit?

Kommentar von Tim |

vergiss was ich schrieb, ihr habt nen fehler im howto! :-)
das muss so heißen:
net setlocalsid

Antwort von Sebastian Leitz

Vielen Dank für den Hinweis, Tim. Ich habe den Tippfehler angepasst… :-)

Einen Kommentar schreiben

Was ist die Summe aus 6 und 1?