我正在将服务器迁移到新硬件。系统的一部分将重建。需要复制哪些文件和目录才能保持用户名、密码、组、文件所有权和文件权限不变?
Ubuntu 12.04 LTS。
答案1
从...开始
/etc/passwd - user account information less the encrypted passwords
/etc/shadow - contains encrypted passwords
/etc/group - user group information
/etc/gshadow - - group encrypted passwords
确保文件的权限也正确
答案2
我已经使用 Gentoo Linux 完成此操作并复制:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
就是这样。
如果另一台机器上的文件具有不同的所有者 ID,您可以将它们更改为 /etc/group 和 /etc/passwd 上的所有者 ID,然后即可恢复有效权限。
答案3
在复制其他答案中提到的文件时,请注意不要删除或重新编号系统帐户。系统服务通常没有固定的用户 ID,如果您以与原始机器不同的顺序安装了软件包(如果机器长期存在,则很有可能),那么它们最终会以不同的顺序出现。我倾向于将这些文件复制到 /root/saved-from-old-system 之类的某个地方,然后手动编辑它们,以便只复制非系统帐户。(可能有工具可以做到这一点,但我不会经常复制这样的系统,因此没有必要研究它。)