要点:全新安装后,我无法弄清楚如何将用户分配给/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
您有几种选择。
- 正如@dargaud 所说,您可以修改文件,
/etc/passwd
使其不再指向 ,/home/andy
而是指向/home/andyl1
。优点:最简单的解决方案。缺点:由于您已经更新了系统,具有默认目录框架的新目录可能包含与当前版本配合更好的配置。此外,主目录的名称与您的用户名不同,这很烦人。 移至
/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
尝试识别潜在问题,并改进解决方案(2),以便将一些新的配置文件转移到新的位置。
- 让用户自己做事——告诉他们将想要的文件转移到新家。优点:减少您的工作量和配置文件是最新的。缺点:如果用户不知道该做什么,你的工作就会更多。