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 /home
i zauważyłem coś dziwnego, użytkownicy wydają się być pomyleni. Na przykład ls -lah | grep Xauthority
w /home/bob
był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 /home
katalog. Jednak! Muszę być w stanie podłączyć stare /home
pliki 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/user
katalogu nowymi?
[Dodatkowe informacje]
Zawartość ls -l /home
(po zamontowaniu starego /home
); Uwaga: lost+found
NIE 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 alice
nie 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 marc
roztrzaskał Dokumenty na wiele różnych dysków i partycji.
źródło
.Xauthority
pomieszania 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.Xauthority
plik. Nie usuwaj ani nie zmieniaj własności, po prostu przenieś ją i spójrz. :)ctrl
+alt
+,del
a potemEnter
, ale nic się nie dzieje.ls -l /home/
& jeśli to możliwecat /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ę odUID:GID
1000, jeśli się nie mylęlost+found
stary folder/home
, ale na pewno nie był to użytkownik. Ale teraz jest wymieniony jakoroot
.sudo blkid
&cat /etc/fstab
. :)Odpowiedzi:
ln -n
pokaże, jaki system plików uważa za UID i GID dla użytkowników. Oto przykład z mojego systemu.W tym systemie
oli
ma prawidłowy identyfikator UID równy 1000, ale gdybym zrobił coś takiego1001
, mógłbym po prostuusermod
go rozerwać. Powiedzmy, że chcę zamienićoli
itest
identyfikatory UID. Jest to gra z trzema przeskokami, ponieważ dwóch użytkowników nie może udostępnić identyfikatora UID. Mogą jednak dzielić grupę.Jedna uwaga : jeśli twój bieżący użytkownik jest jednym z użytkowników podczas zmiany,
sudo su
zanim 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ą kilkufind
połą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 nnn
Na argument,adduser
uczyni to bezbolesne.źródło