全新安装后将用户分配到 /home 文件夹

全新安装后将用户分配到 /home 文件夹

要点:全新安装后,我无法弄清楚如何将用户分配给/home分区上的现有文件夹。

详细信息:我从 10.04 升级到 12.04。我有 3 个分区:

/swap/home。我格式化了/swap,同时分配但不格式化。旧文件夹和文件清晰可见。终端中的/home命令显示:ls -l /home

total 40
drwxr-xr-x 25 andy   andy    4096 Jul  4 08:46 andy
drwxr-xr-x 21 andy   andy    4096 Jun  5 18:52 andyl1
drwxr-xr-x 26 base   base    4096 Jul  4 08:52 base
drwxr-xr-x 29 base   base    4096 Jun  5 19:01 basel1
drwxr-xr-x 27 denise denise  4096 Jul  4 08:45 denise
drwxr-xr-x 18 denise denise  4096 Jun  5 18:56 denisel1
drwx------  2 root   root   16384 Feb 16  2012 lost+found

用户 andyl1、denisel1 和 basel1 均来自旧安装 (10.04)。如能提供任何有关如何分配旧文件夹的建议,我将不胜感激。我不确定最佳/最干净的方法是将旧文件夹分配给新用户,还是删除新用户并尝试模仿旧命名约定。

此外,当给出 GUI 指导时,我可以遵循一般指示,但是,如果我需要转到终端,我将非常感激非常详细的说明。

谢谢

答案1

我认为您需要做的就是编辑文件 /etc/passwd。

calligula:x:31415:20:Gaius Julius Caesar Augustus Germanicus:/home/callig:/bin/bash

第一列是用户名。倒数第二列是主目录,您可以随意更改。但有一点很重要,那就是第三列中的数字必须与该目录中所有文件的用户 ID 权限相匹配。您可以在那里更改它,也可以重新分配整个主目录:

sudo chown -R 31415 /home/callig

答案2

您有几种选择。

  1. 正如@dargaud 所说,您可以修改文件,/etc/passwd使其不再指向 ,/home/andy而是指向/home/andyl1。优点:最简单的解决方案。缺点:由于您已经更新了系统,具有默认目录框架的新目录可能包含与当前版本配合更好的配置。此外,主目录的名称与您的用户名不同,这很烦人。
  2. 移至/home/andy/home/andy.tmp然后/home/andy1移至/home/andy。这样,您便可以保留新骨架作为备份。CON:与上面第一个“CON”相同。您可以使其自动:

    for dir in /home/*l1 ; do
      home=`basename $dir l1`
      mv "$home" "$home.backup"
      mv "$dir" "$home"
    done
    
  3. 尝试识别潜在问题,并改进解决方案(2),以便将一些新的配置文件转移到新的位置。

  4. 让用户自己做事——告诉他们将想要的文件转移到新家。优点:减少您的工作量配置文件是最新的。缺点:如果用户不知道该做什么,你的工作就会更多。

相关内容