Как смонтировать старый каталог / home после переустановки чистой ОС?

8

Перед переустановкой Ubuntu 12.04 LTS я размонтировал каталог / home. После чистой переустановки я заново создал некоторых пользователей и установил пакет ubuntu-desktop, а затем заново смонтировал старый каталог / home. Все документы были восстановлены, и у меня нет проблем, пока я вхожу в оболочку. Однако, когда я пытаюсь войти в GUI, он просто перезагружает экран входа в систему. Это происходит с тех пор, как я включил старый каталог / home в /etc/fstab.

Пытаясь найти решение здесь , я искал файлы .Xauthority в каталоге каждого пользователя /homeи заметил что-то странное, пользователи, кажется, перепутали. Например, ls -lah | grep Xauthorityв /home/bobбудет отображаться как:

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

и так далее. Я предполагаю, что я не создавал пользователей заново в том же порядке, что и в старой системе, так что все пошло странно, когда я смонтировал старый /homeкаталог. Однако! Мне нужно иметь возможность подключать старые /homeфайлы каталогов как есть, потому что они имеют размер в несколько ТБ, и у меня нет места для их свободной переноса, и мне не разрешено ничего удалять. Что я должен сделать, чтобы это исправить?

Это хорошая идея, чтобы заменить все скрытые файлы в каждом старом /home/userкаталоге на новые?

[Дополнительная информация]

Содержимое ls -l /home(после монтажа старого /home); примечание: lost+foundНЕ должен был быть пользователем.

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

Содержание cat /etc/passwd(доступно только для пользователей, перечисленных выше):

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

Примечание: пользователь aliceне был воссоздан после переустановки ОС, так как учетная запись больше не нужна.

Выход 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]

Как видите, у пользователя marcесть документы, разбитые на несколько разных дисков и разделов.

биологическая опасность
источник
Возможные причины .Xauthorityсмешения прав собственности на файл пользователя . Не могли бы вы попробовать сделать резервную копию этого файла (сначала сделайте это для одного пользователя), посмотрев этот пост и перезагрузившись в систему, а затем войдите в систему с этим конкретным пользователем, где система создаст новый .Xauthorityфайл. Не удаляйте и не меняйте владельца, просто сначала переместите его и посмотрите. :)
AzkerM
Спасибо. Я получаю сообщение «xauth: тайм-аут в файле прав доступа блокировки /home/user/.Xauthority», затем во флэш-памяти отображается много материала, который я не успел прочитать, и затем я получаю черный экран. Я пытался нажать ctrl+ alt+, delа затем Enter, но ничего не происходит.
биологическая опасность
Могу ли я попросить вывод для ls -l /home/&, если возможно cat /etc/passwd, только позволив мне увидеть строку пользователей, чтобы увидеть, правильно ли установлены домашние каталоги. UID:GID
Имена
Я добавил запрашиваемую информацию в свой оригинальный пост. Спасибо за ваш интерес :) Все выглядит так запутано. Я не знаю, что это за lost+foundпапка в старом /home, но она определенно не была пользователем. Но теперь он указан как root.
биологическая опасность
Не беспокойся. Судя по указанной вами ошибке, я думаю, что лучше рекурсивно назначать разрешения каждой домашней папке пользователя, так как конфигурация мне подходит. Прежде чем мы это сделаем, могу я также попросить вывод sudo blkid& cat /etc/fstabтоже. :)
AzkerM

Ответы:

3

ln -nпокажет вам, что файловая система считает UID и GID для пользователей. Вот пример из моей системы.

$ 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

В этой системе oliимеет правильный UID 1000, но если бы я сделал что-то, чтобы это было 1001, я мог бы просто использовать, usermodчтобы пробить вокруг. Допустим, я хочу поменяться местами oliи использовать testUID. Это игра с тремя прыжками, так как два пользователя не могут использовать UID. Они могут разделить группу, хотя.

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

Одно замечание : если ваш текущий пользователь является одним из пользователей в обходе изменений, sudo suпрежде чем запускать и запускать все как root. Просто помните, что безопасность выключена. Вы не хотите проходить половину этого процесса, и у вас есть проблемы с привилегиями sudo.

Вам нужно будет играть этот вид балета, пока имена пользователей в / home / не совпадут с их UID (как показано на рисунке ls -ln /home). Кроме того, вы можете изменить все файлы с помощью нескольких findзвонков, но я лично считаю, что это большая потеря времени. Это проще, быстрее и потенциально менее разрушительно, чтобы исправить это централизованно через пользовательскую систему.

В следующий раз не забудьте проверить UID заранее. --uid nnnАргумент adduserбудет сделать это безболезненное.

Оли
источник
Это решило мою проблему! Я смог запустить startx после исправления UID и GID. Спасибо :)
биологическая опасность