将 /home 目录更改为其他位置时出现问题

将 /home 目录更改为其他位置时出现问题

我决定将我的/home目录移动到一个单独的分区。但是,由于我使用多个 Linux 发行版,因此我想/home按如下方式分隔目录:

/dev/sdax/ubuntu
/dev/sdax/debian
/dev/sdax/suse

将所有必需的文件复制到此文件夹后,我将其更改为/etc/fstab将新位置安装/home为默认主驱动器

/dev/sdax    /homedrive ext4 nodev,nosuid 0 2
/homedrive/debian /home bind default,bind 0 0

现在,据我所知,在启动 debian 时,它正在正确安装该文件夹,但是当我尝试登录时,它会出现错误:

无法更新 ICEauthority 文件 /home/user-name/.ICEauthority

关闭该消息后我得到:

配置服务器有问题(/usr/libexec/gconf-sanity-check-2 ...

出了什么问题?

答案1

系统启动后,您可以按 [Ctrl]+[Alt]+[F1] 以 root 身份登录终端(在 Debian 上,您应该在安装时设置 root 密码)。然后您可以使用此命令检查权限是否正确

ls -ld /home/user/

ls -l /home/user/.ICEauthority

改变所有权

chown user: /home/user

和权限

chmod mode /home/user/file

主文件夹的权限应为 755 或 750,.ICEauthority 文件的权限应为 600。

答案2

我跟着这个教程。编写了以下命令并且有效。

chown -R username:username /home/username
chmod 644 /home/username/.dmrc
chmod 644 /home/username/.ICEauthority

答案3

您似乎复制了主目录,但没有正确保留文件/文件夹的所有权。从info cpio

`--无保留所有者'
     不改变文件的所有权;让它们归
     用户提取它们。这是非 root 用户的默认设置,因此
     System V 上的用户不会无意中泄露文件。这
     选项可用于copy-in模式和copy-pass模式

所以你应该重复这个操作作为根用户- 要么采用与您相同的方式,要么使用更简单的cp -a命令。

编辑:我看到你刚刚解决了它。因此它确认问题出在所有权上。

答案4

/dev/sdax/ubuntu
/dev/sdax/debian
/dev/sdax/suse

我真诚地希望您不要在开发文件系统上创建数据目录!

/dev/sdax    /homedrive ext4 nodev,nosuid 0 2
/homedrive/debian /home bind default,bind 0 0

好吧,看来你不是——但这仍然是一种奇怪的设置文件系统的方式。我假设你在同一个文件系统上设置了 3 个不同的目录......

解决这个问题的更好方法是在每个发行版中使用不同的符号链接到 /home 的位置

mount /dev/sdax /homedrives
cp -R -p /home /homedrives/${currentdistro}
rm -r -f /home
ln -s /homedrives/${currentdistro} /home

相关内容