it-swarm.com.de

Schritte zum Wiederherstellen des Home-Verzeichnisses? (Benutzer-IDs usw.)

Angenommen, ich habe ein home.tgz und möchte das auf einer frisch installierten Ubuntu-Box ablegen.

Was muss ich tun, bevor ich die Datei entpacke? Benutzer anlegen? Was ist mit Benutzer-IDs? Gruppen? Was ist mit Verschlüsselung?

6
Martin
  1. Erstellen Sie das Benutzerkonto, optional mit derselben UID und GID wie zuvor und mit dem Basisverzeichnis am selben Ort (z. B. /home/sid)
  2. Legen Sie das Passwort fest
  3. Entpacken Sie die Datei in das Home-Verzeichnis des Benutzers
  4. Ändern Sie den Besitzer, wenn Sie nicht dieselbe UID und GID wie zuvor verwendet haben
  5. Fügen Sie den Benutzer zu anderen erforderlichen Gruppen hinzu

Wenn Sie den Prozess vereinfachen möchten, müssen Sie einige Dinge tun. Im Folgenden gehe ich davon aus, dass der Benutzer mark heißt.

  1. Notieren Sie die Gruppenmitgliedschaft des Benutzers: cd ~mark && id mark > mark.identity
  2. Sichern Sie das Ausgangsverzeichnis von seinem übergeordneten Verzeichnis. Wenn es beispielsweise /home/mark Ist, möchten Sie cd /home && tar jcpf mark.tar.bz2 mark
  3. Stellen Sie es auf dem neuen Host in/home wieder her (cd /home && tar xjpf mark.tar.bz2)
  4. Identifizieren Sie die Gruppe und den Benutzernamen sowie die Gruppenmitgliedschaften und stellen Sie diese wieder her. Dies sollte ziemlich skriptfähig sein, ungefähr so:
 #!/bin/bash 
 USER = "$ {1}" 
 if [! -e "$ {USER}". identity]; dann 
 echo "No identity file" 
 exit 
 fi 
 
 Gd = `awk '{print $ 2" $ {USER} ". identity } '| sed -e "s /.*(// g" -e "s /).*// g" `
 GLIST =` awk '{print $ NF "{USER}". identity}' | sed -e "s/[az] * = // g" -e "s/[0-9] * (// g" -e "s /) // g" `
 
 für GROUP in $ {Gd} $ {GLIST}; do 
 getent group $ {GROUP}>/dev/null 
 STATUS = $ {?} 
 if [$ {STATUS} -ne 0]; dann 
 groupadd $ {GROUP} 
 fi 
 done 
 
 useradd -g "$ {Gd}" -G "$ {GLIST}" "$ {USER}" 

Beachten Sie, dass ich das gerade hier geschrieben habe, ich habe es nicht getestet.


Ja, es wird davon ausgegangen, dass alle Gruppen vorhanden sind. Es wäre nicht schwer, das Skript zu erweitern, um zu überprüfen, ob jede Gruppe existiert, und es zu erstellen, wenn nicht. Die obigen Änderungen sollten sich darum kümmern.

Beachten Sie auch, dass dies die durch Sudo erlangten Privilegien nicht berücksichtigt. Es wird auch nicht helfen, wenn Sie lokale E-Mail oder etwas anderes haben. Alles, was es tun wird, ist den Benutzer mit den gleichen Gruppen wie zuvor einzurichten. Außerdem wird ein bereits vorhandenes Verzeichnis überschrieben, sodass einige Aufmerksamkeit erforderlich ist.

4
Cry Havok

In meinem Test habe ich Bob (1001) und Alice (1002) hinzugefügt. Ich habe Bob gelöscht und Joe (1001) hinzugefügt. Entschuldige, ich lag falsch. Sie müssen lediglich den Besitzer und die Gruppe des Basisordners jedes Benutzers jedem Benutzer neu zuweisen.

Dies mag mühsam erscheinen, ist aber nur eine detaillierte Erklärung der drei Schritte.

Sie benötigen Superuser-Berechtigungen, um diese Wartungsaufgaben auszuführen. Deshalb wird jedem Befehl Sudo vorangestellt, wodurch wir diese Berechtigungen erhalten.

Auf unserer neuen Ubuntu-Installation:

  • # 1 Benutzerkonto erstellen: Sudo adduser alice
  • # 2 entpacken Sie die gesicherten Dateien in ihr neues Home-Verzeichnis
  • # 3 mach Alice zum Besitzer der Dateien: Sudo chown -R alice\:alice /home/alice

So erklären Sie die Befehle:

  • # 1 adduser erstellt für uns (unter anderem) das Verzeichnis/home/alice
  • # 3 Die Option -R Bedeutet, dass der Besitz rekursiv angewendet wird. Alice \: Alice gibt das neue owner\:group Für die Dateien an und wir weisen Chown an, diese Aufgabe für /home/alice Auszuführen. .

Jetzt gehören ihr alle Dateien unter/home/alice und sie sollte kein Problem damit haben, auf ihre Dateien zuzugreifen. Hoffe das macht mehr Sinn.

Erstellen Sie das neue Benutzerkonto mit demselben Namen, dann hat es dieselbe UID wie das alte Benutzerkonto. Ich erinnere mich, irgendwo auf einer Mailingliste darüber gelesen zu haben, aber ich kann die Quelle, aus der ich es gelesen habe, nicht finden.

0
invert