操作系统全新重新安装后,如何挂载旧的/ home目录?


8

在重新安装Ubuntu 12.04 LTS之前,我先卸载了/ home目录。全新安装后,我重新创建了一些用户并安装了ubuntu-desktop软件包,然后重新安装了旧的/ home目录。所有文档都已还原,只要我登录shell,我就没有问题。但是,当我尝试登录到GUI时,它只是重新加载了登录屏幕。自从我在中包含旧的/ home目录以来,这种情况一直在发生/etc/fstab

尝试按照此处的解决方案进行操作时,我在每个用户的/home目录中查找.Xauthority文件,并发现有些奇怪的提示,这些用户似乎有些混乱。例如,ls -lah | grep Xauthorityin /home/bob将显示为:

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

等等。我的猜测是,我没有按照与旧系统中相同的顺序来重新创建用户,所以当我挂载旧/home目录时,事情变得很奇怪。然而!我需要能够按/home原样插入旧目录文件,因为它们是几个TB,并且我没有空间自由地在此处和那里进行传输,也不允许删除任何内容。我应该怎么做才能解决这个问题?

/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 2014年

谢谢。我收到一条消息“ xauth:锁定授权文件/home/user/.Xauthority中的超时”,然后很多内容显示在我没有时间阅读的闪存中,然后出现黑屏。我尝试按ctrl+ alt+ del,然后按Enter,但没有任何反应。
生物危害2014年

ls -l /home/是否可以要求&的输出,方法cat /etc/passwd是只允许我查看用户行以查看主目录是否设置正确。UID:GID如果我没记错的话,用户名通常从1000 开始
AzkerM 2014年

我将请求的信息添加到了我的原始帖子中。谢谢您的关注:)一切看起来都糟透了。我不知道lost+found旧的文件夹/home是什么,但是它肯定不是用户。但是现在列为root
生物危害2014年

别担心。根据您指定的错误,我认为最好递归地将权限递归分配给每个用户的主文件夹,因为配置对我来说很好。在我们这样做之前,我可能还会要求提供sudo blkid&的输出cat /etc/fstab。:)
AzkerM 2014年

Answers:


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它进行打孔。假设我要交换olitest的UID。这是一个三跳游戏,因为两个用户不能共享一个UID。他们可以共享一个群组。

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

注意事项:如果当前用户是该更改中的用户之一,请在以root用户身份sudo su启动并运行所有内容之前。只要记住安全性就关闭了。您不想半途而废,而无法获得sudo特权的bug。

您需要演奏这种芭蕾舞,直到/ home /中的用户名与其UID对齐(如所示ls -ln /home)。另外,您可以通过几个find电话更改所有文件,但是我个人认为这是浪费大量时间。通过用户系统集中修复此问题更容易,更快捷,并且破坏性更小。

下次请记住事先检查UID --uid nnn关于adduser这一点的争论将使这一过程变得轻松。


这解决了我的问题!更正了UID和GID之后,我能够运行startx。谢谢您:)
biohazard
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.