将Linux用户和密码复制到新服务器


26

我正在通过服务器迁移到新硬件。系统的一部分将被重建。需要复制哪些文件和目录,以便用户名,密码,组,文件所有权和文件权限保持不变?

Ubuntu 12.04 LTS。

Answers:


39

从...开始

/etc/passwd - user account information less the encrypted passwords 
/etc/shadow - contains encrypted passwords 
/etc/group - user group information 
/etc/gshadow - - group encrypted passwords

确保确保文件的权限也正确


5
向我+1。我也想知道/home。通常,ssh密钥位于主目录中,因此~/.ssh至少可以视为身份验证基础结构的一部分。
MadHatter支持Monica

2
@MadHatter:实际上,我有点以为OP会知道他们需要复制用户主目录,但我想您可能在SF上不知道:)
user9517支持GoFundMonica 2014年

2
不用担心,作者知道。
Mikko Ohtamaa 2014年

2
尽管上述方法可行,但您也应该确实复制gshadow。
symcbean 2014年

6
重要的一点:这假设服务器仅具有基于文件的身份验证。要迁移使用例如LDAP或NIS的服务器,这些文件是不够的,尤其是在身份验证服务器位于同一系统上的情况下。其他子系统(例如Samba,SQL)也可以具有自己的身份验证数据库。
thkala

13

我已经使用Gentoo Linux做到了,并复制了:

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/gshadow

而已。

如果另一台计算机上的文件具有不同的所有者ID,则可以将其更改为/ etc / group和/ etc / passwd上的文件,然后恢复有效的权限。


11

复制其他答案中提到的文件时,请注意不要删除或重新编号系统帐户。系统服务通常没有固定的用户ID,并且如果您以与原始计算机不同的顺序安装了软件包(很可能是长期使用的),那么它们将以不同的顺序结束。我倾向于将这些文件复制到/ root / saved-from-old-system之类的位置,然后手动编辑它们,以便仅复制非系统帐户。(可能有一个用于此目的的工具,但我倾向于复制这样的系统的频率不足以值得调查。)

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.