Wie kann ich ein altes / home-Verzeichnis nach einer Neuinstallation des Betriebssystems bereitstellen?

8

Vor der Neuinstallation von Ubuntu 12.04 LTS habe ich das Verzeichnis / home aufgehoben. Nach einer sauberen Neuinstallation habe ich einige Benutzer neu erstellt, das Ubuntu-Desktop-Paket installiert und dann das alte / home-Verzeichnis erneut bereitgestellt. Alle Dokumente wurden wiederhergestellt, und ich habe kein Problem, solange ich mich mit der Shell anmelde. Wenn ich jedoch versuche, mich bei der GUI anzumelden, wird nur der Anmeldebildschirm neu geladen. Dies geschieht seit ich das alte / home-Verzeichnis in aufgenommen habe /etc/fstab.

Als ich versuchte, der Lösung hier zu folgen , suchte ich in jedem Benutzerverzeichnis nach den .Xauthority-Dateien /homeund bemerkte etwas Seltsames. Die Benutzer scheinen durcheinander zu sein. Zum Beispiel ls -lah | grep Xauthorityin /home/bobwürde zeigen , wie:

-rw-------  1 emily emily   53 Nov 29 10:19 .Xauthority

und so weiter. Ich vermute, dass ich die Benutzer nicht in der gleichen Reihenfolge wie im alten System neu erstellt habe, sodass die Dinge beim Mounten des alten /homeVerzeichnisses merkwürdig wurden . Jedoch! Ich muss in der Lage sein, die alten /homeVerzeichnisdateien unverändert einzustecken, da es sich um mehrere TB handelt und ich nicht die Möglichkeit habe, sie hier und da frei zu übertragen, und ich darf auch nichts löschen. Was soll ich tun, um das zu beheben?

Ist es eine gute Idee, alle versteckten Dateien in jedem alten /home/userVerzeichnis durch die neuen zu ersetzen ?

[Zusätzliche Information]

Inhalt von ls -l /home(nach dem Einbau alt /home); Hinweis: lost+foundsollte kein Benutzer sein.

total 36
drwxr-xr-x 22 bob   bob    4096 Mar 11 12:23 alice
drwxr-xr-x 44 marc  marc   4096 Mar 11 12:21 emily
drwxr-xr-x 23 1004  1004   4096 Jul 29  2013 bob
drwxr-xr-x  4 1005  1005   4096 Jul 30  2013 ken
drwx------  2 root  root  16384 Mar 27  2012 lost+found
drwxr-xr-r 40 emily emily  4096 Mar 11 12:49 marc

Inhalt von cat /etc/passwd(beschränkt auf die oben aufgeführten Benutzer):

root:x:0:0:root:/root:/bin/bash
marc:x:1000:1000:marc,,,:/home/marc:/bin/bash
emily:x:1001:1001:emily,,,:/home/emily:/bin/bash
bob:x:1002:1002:bob,,,:/home/bob:/bin/bash
ken:x:1003:1003:ken,,,:/home:ken:/bin/bash

Hinweis: Der Benutzer alicewurde nach der Neuinstallation des Betriebssystems nicht neu erstellt, da das Konto nicht mehr benötigt wurde.

Ausgabe von lsblk:

NAME        MAJ:MIN RM  SIZE        RO  TYPE    MOUNTPOINT
sda     8:0     0   931.5G  0   disk
+sda1   8:1     0   285M        0   part    
+sda2   8:2     0   1K      0   part
+sda5   8:5     0   18.6G       0   part
+sda6   8:6     0   93.1G       0   part    /home
+sda7   8:7     0   93.1G       0   part
+sda8   8:8     0   698.4G          0   part    /home/marc/Data
+sda9   8:9     0   9.3G        0   part    [SWAP]
+sda10  8:10        0   18.6G       0   part    /   
sr0     11:0        1   1024M       0   rom
sdb     8:16        0   1.8T        0   disk
+sdb1   8:17        0   1.8T        0   part    /home/marc/Data2
sdc     8:32        0   1.8T        0   disk
+sdc1   8:33        0   200M        0   part    
+sdc2   8:34        0   465.8G          0   part    /home/marc/USB_Disk/Disk1
+sdc3   8:35        0   465.8G          0   part    /home/marc/USB_Disk/Disk2
+sdc4   8:36        0   465.8G          0   part    /home/emily/Data
+sdc5   8:37        0   465.6G          0   part    /var/www
sdf     8:80        0   3.7T        0   disk
+sdf1   8:81        0   1.8T        0   part    /home/ken
+sdf2   8:82        0   1.8T        0   part    /home/bob
sde     8:64        1   29.8G       0   disk
+sde1   8:65        1   29.8G       0   part    [SWAP]

Wie Sie sehen können, hat der Benutzer marcDokumente auf verschiedenen Datenträgern und Partitionen zerbrochen.

Biogefährdung
quelle
Mögliche Ursachen dafür, dass der .XauthorityBesitz der Benutzerdatei verwechselt wird. Könnten Sie bitte versuchen, diese Datei zu sichern (tun Sie dies zuerst für einen Benutzer), indem Sie sich diesen Beitrag ansehen und das System neu starten. Melden Sie sich dann bei diesem bestimmten Benutzer an, bei dem das System eine neue .XauthorityDatei erstellt. Löschen oder ändern Sie nicht den Besitzer, sondern verschieben Sie ihn zuerst und schauen Sie ihn sich an. :)
AzkerM
Vielen Dank. Ich erhalte die Meldung 'xauth: Zeitüberschreitung in der Sperrberechtigungsdatei /home/user/.Xauthority', dann werden viele Dinge blitzschnell angezeigt, für die ich keine Zeit zum Lesen hatte, und dann wurde ein schwarzer Bildschirm angezeigt. Ich habe versucht, ctrl+ alt+ zu drücken delund dann Enter, aber nichts passiert.
Biohazard
Darf ich um eine Ausgabe für ls -l /home/& bitten, wenn möglich, cat /etc/passwdindem ich nur die Benutzerzeile sehen darf, um zu sehen, ob die Home-Verzeichnisse richtig eingestellt sind. Benutzernamen beginnen normalerweise bei UID:GID1000, wenn ich mich nicht irre
AzkerM
Ich habe die angeforderten Informationen zu meinem ursprünglichen Beitrag hinzugefügt. Vielen Dank für Ihr Interesse :) Alles sieht so durcheinander aus. Ich weiß nicht, was der lost+foundOrdner im alten /homeist, aber es war sicherlich kein Benutzer. Aber jetzt ist es als aufgeführt root.
Biohazard
Keine Sorge. Entsprechend dem von Ihnen angegebenen Fehler ist es wahrscheinlich besser, die Berechtigungen rekursiv jedem Home-Ordner des Benutzers neu zuzuweisen, da die Konfiguration für mich gut aussieht. Bevor wir das tun, darf ich auch um eine Ausgabe von sudo blkid& bitten cat /etc/fstab. :)
AzkerM

Antworten:

3

ln -nzeigt Ihnen, wie das Dateisystem die UID und GIDs für die Benutzer finden sollte. Hier ist ein Beispiel aus meinem System.

$ ls -ln /home/
total 12
drwxr-xr-x  5  111  120 4096 Mar 15 10:11 hts
drwxr-xr-x 11 1000 1000 4096 Mar 15 12:34 oli
drwxr-xr-x  4 1001 1001 4096 Mar 13 08:46 test

In diesem System olihat die richtige UID von 1000, aber wenn ich etwas so gemacht hätte 1001, könnte ich es einfach verwenden usermod, um es herumzuschlagen. Sagen wir , ich tauschen wollen oliund test‚s UIDs herum. Dies ist ein Drei-Hop-Spiel, da zwei Benutzer keine UID gemeinsam nutzen können. Sie können jedoch eine Gruppe teilen.

sudo usermod -u 1099 -g 1000 test
sudo usermod -u 1001 -g 1001 oli
sudo usermod -u 1000 test

Ein Hinweis : Wenn Ihr aktueller Benutzer einer der Benutzer in der Änderungsumgebung ist, sudo subevor Sie alles als root starten und ausführen. Denken Sie daran, dass die Sicherheit ausgeschaltet ist. Sie möchten nicht in der Mitte dieses Prozesses sein und Ihre Sudo-Berechtigungen auf sich wirken lassen.

Sie müssen diese Art von Ballett spielen, bis die Benutzernamen in / home / mit ihren UIDs übereinstimmen (wie in gezeigt ls -ln /home). Alternativ können Sie alle Dateien mit ein paar findAufrufen ändern, aber ich persönlich halte dies für eine große Zeitverschwendung. Es ist einfacher, schneller und möglicherweise weniger zerstörerisch, dies zentral über das Benutzersystem zu beheben.

Denken Sie beim nächsten Mal daran, die UIDs vorher zu überprüfen . Das --uid nnnArgument auf adduserwird dies schmerzlos machen.

Oli
quelle
Das hat mein Problem gelöst! Ich konnte startx ausführen, nachdem ich die UIDs und GIDs korrigiert hatte. Vielen Dank :)
Biohazard