Migration von Benutzern und Gruppen

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Grundsatzfragen ‹ Migration von Benutzern und Gruppen


Synopsis

Dieser Artikel erklärt, wie man User, Gruppen und deren Datenbestände schnell und sicher zwischen zwei Systemen überträgt.


Zu sichernde Dateien und Ordner

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/gshadow
  • /home
  • /groups

Anmerkung zu /groups: Debian pflegt natürlich kein spezifisches Gruppenverzeichnis. Falls das Originalsystem einen zentralen Speicherplatz für Gruppendaten hat, so soll dieses damit gemeint sein.


root-Rechte

Wir brauchen natürlich root-Rechte.


Einpacken

Erstellen wir einen zentralen Sammelort für all diese Daten, z. B. in /opt.

mkdir /opt/migrate 


Benutzerkonten vorbereiten

Debian kann maximal 65535 UIDs verwalten: von 0 bis 65534. Dabei ist/sind

  • 0 für root reserviert.
  • 1-99 für globale Systemkonten reserviert.
  • 100-999 für weitere Systemkonten reserviert.
  • 1000-29999 für normale Nutzerkonten reserviert.
  • 30000-65533 für Maschinenkonten reserviert.
  • 65534 für nobody reserviert.


Hinweis.png Hinweis: Andere GNU/Linux Distributionen bzw. andere UNIXe weichen meistens von dieser Konvention ab, so beginnen z. B. bei RHEL die normalen Nutzerkonten bei 500.


Uns interessieren nur Konten von 1000-65533. Deswegen greifen wir uns erst mal diese:

awk -F: '($3>=1000) && ($3<65534)' /etc/passwd > /opt/migrate/passwd.move

Dann brauchen wir ggf. noch die Shadow Passwörter. In /etc/shadow stehen leider keine UIDs, also müssen wir ein wenig tricksen:

awk -F: '($3>=1000) && ($3<65534)' /etc/passwd | cut -d: -f1 | egrep -f - /etc/shadow > /opt/migrate/shadow.move

Gruppenkonten vorbereiten

Die GIDs organisieren sich analog zu den UIDs. Auch hier wollen wir nur Benutzer- bzw. Maschinenkonten:

awk -F: '($3>=1000) && ($3<65534)' /etc/group > /opt/migrate/group.move

Falls jemand tatsächlich Gruppenpasswörter benutzen sollte, so muss man auch die Datei gshadow kopieren. Das ist einfach:

cp /etc/gshadow /opt/migrate/gshadow.move


Home und Group Folder ohne Netzwerk kopieren

Wir wollen alle Rechte und Attribute erhalten, also benutzen wir tar:

tar -czvplf /opt/migrate/homes.tar.gz /home
tar -czvplf /opt/migrate/groups.tar.gz /groups


Home und Group Folder via SSH/rsync kopieren

Sollte auf dem neuen System bereits ein SSH-Service laufen, so können wir direkt mit rsync (oder sftp) unsere Daten kopieren:

rsync -avtP -e ssh /home root@neuessystem:/home
rsync -avtP -e ssh /groups root@neuessystem:/groups

Der Umzug

Bringe die Dateien aus /opt/migrate auf das neue System, z. B. per USB-Stick oder SSH.


Auspacken

Es ist eine gute Idee, die Dateien auf dem neuen System zu sichern, bevor man die Migration angeht. Dazu kopiere man die oben erwähnten Dateien an einen sicheren Ort, z. b. /root. Sollte eine passwd-, shadow- oder group- Datei vorhanden sein, so sollte man diese auch in Sicherheit bringen.


Warnung.png Warnung: Der folgende Schritt erfordert Aufmerksamkeit. Es ist von entscheidender Bedeutung, dass die Dateien angehängt (>>) werden. Sonst überschreibt man die Originaldateien und dann geht nichts mehr!


Nun hängt man die alten Benutzer und Gruppen an die entsprechenden Dateien an.

cat /pfad/zu/passwd.move >> /etc/passwd
cat /pfad/zu/shadow.move >> /etc/shadow
cat /pfad/zu/group.move >> /etc/group

Falls notwendig kopieren wir die gshadow-Datei:

cat /pfad/zu/gshadow.move >> /etc/gshadow

Nun wechselt man ins /-verzeichnis. Dort packen wir unsere Tarbälle aus:

tar -xzvf /pfad/zu/homes.tar.gz
tar -xzvf /pfad/zu/groups.tar.gz

Neustart

Wird das System nun neu gestartet, so stehen die neuen Benutzer und Gruppen zur Verfügung.