Moin,
eine Neuinstallation bei so einem alten Server ist vermutlich keine schlechte Idee.
Zum Thema Dateien kopieren. Unter der Voraussetzung, dass die BenutzerInnen und Gruppen auf beiden Servern angelegt wurden, kann man mit rsync eine Kopie hinbekommen, die zumindest die Unix-Rechte und Unix-ACLs beibehält. Die Windows-ACLs hingegen werden, wenn ich mich nicht ganz irre, in einem komischen Binärformat in den extended attributes gespeichert und sind nicht so einfach umsetzbar. Oftmals genügt jedoch das Setzen der Unix-ACLs für die Gruppen, um die meisten Anwendungsszenarien in Unternehmen abzudecken.
rsync (und auch tar) arbeiten standardmäßig mit Benutzer- und Gruppennamen und nicht mit den IDs. Wenn also rsync 1 auf dem alten Server läuft und eine Datei mit Besitzer »gmusterfrau UID 4711« sieht, an ein auf dem neuen Server laufendes rsync 2 schickt, dann schaut rsync 2 nach, welche UID gmusterfrau auf dem neuen Server hat und nutzt diese ID. Genau das, was wir in diesem Falle wollen.
Das klappt aber halt nur, wenn die beiden rsyncs auf unterschiedlichen Servern laufen. Sprich: sie müssen hier zwingend rsync via ssh nutzen und auf keinen Fall eine Share vom alten Server per NFS auf dem neuen Server mounten und dann lokal kopieren – denn dann stehen die alten Mappings von UIDs zu Benutzernamen nicht zur Verfügung.
Weiterhin müssen Sie bei rsync die ACLs und extended attributes mit kopieren. Generell merke ich mir meist die folgende Kommandozeile (auszuführen auf altem Server):
rsync -haxHAXv --delete /shares/share1/ root@neuer-server:/shares/share1/
-a ist »archive mode«, bewahrt solche Dinge wie BesitzerIn, Gruppe, Rechte, Zeitstempel – aber leider nicht ACLs, extended attributes und hard links. Für letztere sind -A (ACLs), -X (eXtended attributes) und -H (Hard links) da. -x verhindert, dass in darunter gemountete Verzeichnisse gewechselt wird; -h ist »output numbers in human readable form«. Nicht wirklich zwingend, genau so wie -v für verbose
--delete sollten Sie nutzen, wenn Sie dieselbe Share mehrfach syncen wollen, um in der Zwischenzeit in der Quelle gelöschte Dateien auch am Ziel zu löschen.
Achtung: verwenden Sie nicht tar zum Kopieren! Das GNU-tar, das auf Univention noch verwendet wird, versteht weder ACLs noch extended attributes. Wenn Sie ein tar nutzen wollen, dann bsdtar, was beide Dinge von Haus aus unterstützt. Erst aktuelle GNU-tar-Versionen unterstützen ACLs und extended attributes.
Für die Samba-SIDs habe ich leider keine Lösung parat, halte aber eine ernsthafte Betrachtung, ob die in Ihrer Situation überhaupt benötigt werden, für sinnvoll.