Jak zamontować stary katalog / home po ponownej instalacji systemu operacyjnego?

8

Przed ponowną instalacją Ubuntu 12.04 LTS odmontowałem katalog / home. Po czystej ponownej instalacji odtworzyłem niektórych użytkowników i zainstalowałem pakiet ubuntu-desktop, a następnie ponownie zamontowałem stary katalog / home. Wszystkie dokumenty zostały przywrócone i nie mam problemu, dopóki loguję się za pomocą powłoki. Jednak gdy próbuję zalogować się do GUI, po prostu ładuje ponownie ekran logowania. Dzieje się tak, odkąd włączyłem stary katalog / home do /etc/fstab.

Próbując zastosować się do rozwiązania tutaj , szukałem plików .Xauthority w katalogu każdego użytkownika /homei zauważyłem coś dziwnego, użytkownicy wydają się być pomyleni. Na przykład ls -lah | grep Xauthorityw /home/bobbyłoby wyświetlane jako:

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

i tak dalej. Domyślam się, że nie odtworzyłem użytkowników w tej samej kolejności, co w starym systemie, więc wszystko poszło dziwnie, kiedy zamontowałem stary /homekatalog. Jednak! Muszę być w stanie podłączyć stare /homepliki katalogu, ponieważ mają one kilka TB i nie mam miejsca na ich swobodne przesyłanie tu i tam, ani nie wolno mi niczego usuwać. Co powinienem zrobić, aby to naprawić?

Czy dobrym pomysłem jest zastąpienie wszystkich ukrytych plików w każdym starym /home/userkatalogu nowymi?

[Dodatkowe informacje]

Zawartość ls -l /home(po zamontowaniu starego /home); Uwaga: lost+foundNIE miał być użytkownikiem.

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

Zawartość cat /etc/passwd(ograniczona do użytkowników wymienionych powyżej):

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

Uwaga: użytkownik alicenie został ponownie utworzony po ponownej instalacji systemu operacyjnego, ponieważ konto nie było już potrzebne.

Wyjście 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]

Jak widać, użytkownik marcroztrzaskał Dokumenty na wiele różnych dysków i partycji.

zagrożenie biologiczne
źródło
Możliwe przyczyny .Xauthoritypomieszania własności pliku użytkownika . Czy możesz spróbować wykonać kopię zapasową tego pliku (najpierw zrób to dla jednego użytkownika), patrząc na ten post i uruchom ponownie system, a następnie zaloguj się do tego konkretnego użytkownika, w którym system utworzy nowy .Xauthorityplik. Nie usuwaj ani nie zmieniaj własności, po prostu przenieś ją i spójrz. :)
AzkerM
Dzięki. Dostaję komunikat „xauth: przekroczenie limitu czasu w pliku autoryzacji blokady /home/user/.Xauthority”, następnie w pamięci flash pojawia się wiele rzeczy, których nie miałem czasu przeczytać, a potem pojawił się czarny ekran. Próbowałem nacisnąć ctrl+ alt+, dela potem Enter, ale nic się nie dzieje.
zagrożenie biologiczne
Czy mogę poprosić o wyjście dla ls -l /home/& jeśli to możliwe cat /etc/passwd, pozwalając mi tylko zobaczyć linię użytkowników, aby zobaczyć, czy katalogi domowe są ustawione poprawnie. Nazwy użytkowników zwykle zaczynają się od UID:GID1000, jeśli się nie mylę
AzkerM
Dodałem wymagane informacje do mojego oryginalnego postu. Dziękujemy za zainteresowanie :) Wszystko wygląda na popsute. Nie wiem, co to jest lost+foundstary folder /home, ale na pewno nie był to użytkownik. Ale teraz jest wymieniony jako root.
zagrożenie biologiczne
Bez obaw. Zgodnie z podanym błędem, myślę, że lepiej jest ponownie przypisywać uprawnienia rekurencyjnie do folderu domowego każdego użytkownika, ponieważ konfiguracja wygląda dla mnie dobrze. Zanim to zrobimy, mogę również poprosić o wynik sudo blkid& cat /etc/fstab. :)
AzkerM

Odpowiedzi:

3

ln -npokaże, jaki system plików uważa za UID i GID dla użytkowników. Oto przykład z mojego systemu.

$ 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

W tym systemie olima prawidłowy identyfikator UID równy 1000, ale gdybym zrobił coś takiego 1001, mógłbym po prostu usermodgo rozerwać. Powiedzmy, że chcę zamienić olii testidentyfikatory UID. Jest to gra z trzema przeskokami, ponieważ dwóch użytkowników nie może udostępnić identyfikatora UID. Mogą jednak dzielić grupę.

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

Jedna uwaga : jeśli twój bieżący użytkownik jest jednym z użytkowników podczas zmiany, sudo suzanim zaczniesz i uruchomisz wszystko jako root. Pamiętaj tylko, że bezpieczeństwo jest wyłączone. Nie chcesz przejść do połowy tego procesu i mieć problemy z sudo.

Będziesz musiał grać w ten rodzaj baletu, dopóki nazwy użytkowników w / home / nie ustawią się na swoich UID (jak pokazano na ls -ln /home). Alternatywnie możesz zmienić wszystkie pliki za pomocą kilku findpołączeń, ale osobiście uważam, że to wielka strata czasu. Naprawienie tego centralnie za pomocą systemu użytkownika jest łatwiejsze, szybsze i potencjalnie mniej destrukcyjne.

Następnym razem pamiętaj o wcześniejszym sprawdzeniu UID . --uid nnnNa argument, adduseruczyni to bezbolesne.

Oli
źródło
To rozwiązało mój problem! Po poprawieniu UID i GID mogłem uruchomić startx. Dziękuję :)
zagrożenie biologiczne