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 /home
und bemerkte etwas Seltsames. Die Benutzer scheinen durcheinander zu sein. Zum Beispiel ls -lah | grep Xauthority
in /home/bob
wü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 /home
Verzeichnisses merkwürdig wurden . Jedoch! Ich muss in der Lage sein, die alten /home
Verzeichnisdateien 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/user
Verzeichnis durch die neuen zu ersetzen ?
[Zusätzliche Information]
Inhalt von ls -l /home
(nach dem Einbau alt /home
); Hinweis: lost+found
sollte 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 alice
wurde 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 marc
Dokumente auf verschiedenen Datenträgern und Partitionen zerbrochen.
quelle
.Xauthority
Besitz 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.Xauthority
Datei erstellt. Löschen oder ändern Sie nicht den Besitzer, sondern verschieben Sie ihn zuerst und schauen Sie ihn sich an. :)ctrl
+alt
+ zu drückendel
und dannEnter
, aber nichts passiert.ls -l /home/
& bitten, wenn möglich,cat /etc/passwd
indem ich nur die Benutzerzeile sehen darf, um zu sehen, ob die Home-Verzeichnisse richtig eingestellt sind. Benutzernamen beginnen normalerweise beiUID:GID
1000, wenn ich mich nicht irrelost+found
Ordner im alten/home
ist, aber es war sicherlich kein Benutzer. Aber jetzt ist es als aufgeführtroot
.sudo blkid
& bittencat /etc/fstab
. :)Antworten:
ln -n
zeigt Ihnen, wie das Dateisystem die UID und GIDs für die Benutzer finden sollte. Hier ist ein Beispiel aus meinem System.In diesem System
oli
hat die richtige UID von 1000, aber wenn ich etwas so gemacht hätte1001
, könnte ich es einfach verwendenusermod
, um es herumzuschlagen. Sagen wir , ich tauschen wollenoli
undtest
‚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.Ein Hinweis : Wenn Ihr aktueller Benutzer einer der Benutzer in der Änderungsumgebung ist,
sudo su
bevor 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 paarfind
Aufrufen ä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 nnn
Argument aufadduser
wird dies schmerzlos machen.quelle