Copiando usuários e senhas do Linux para um novo servidor

26

Estou migrando sobre um servidor para novo hardware. Uma parte do sistema será reconstruída. Quais arquivos e diretórios são necessários para copiar para que nomes de usuário, senhas, grupos, propriedade e permissões de arquivo permaneçam intactos?

Ubuntu 12.04 LTS.

Mikko Ohtamaa
fonte

Respostas:

39

Começar com

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

Certifique-se de garantir que as permissões nos arquivos também estejam corretas

user9517 suporta GoFundMonica
fonte
5
+1 de mim. Eu também me perguntava /home; geralmente, as chaves ssh vivem nos diretórios pessoais, portanto, ~/.sshpelo menos, podem ser consideradas parte da infraestrutura de autenticação.
MadHatter apoia Monica
2
@MadHatter: Na verdade eu meio que assumiram que o OP saberia que eles precisavam para copiar os diretórios home dos usuários, mas eu acho que você nunca sabe aqui na SF :)
user9517 suporta GoFundMonica
2
Não se preocupe, o autor sabe.
Mikko Ohtamaa
2
Embora o acima funcione, você também deve copiar o gshadow também.
symcbean
6
Um ponto importante: isso pressupõe um servidor apenas com autenticação baseada em arquivo. Para migrar um servidor que usa, por exemplo, LDAP ou NIS, esses arquivos não serão suficientes, especialmente se o servidor de autenticação estiver no mesmo sistema. Outros subsistemas (por exemplo, Samba, SQL) também podem ter seus próprios bancos de dados de autenticação.
Thkala
13

Eu já fiz isso com o Gentoo Linux e copiei:

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

é isso aí.

Se os arquivos na outra máquina tiverem IDs de proprietário diferentes, você poderá alterá-los para aqueles em / etc / group e / etc / passwd e depois restaurará as permissões efetivas.

vanthome
fonte
11

Cuidado para não excluir ou renumerar as contas do sistema ao copiar sobre os arquivos mencionados nas outras respostas. Os serviços do sistema geralmente não têm IDs de usuário fixos e, se você instalou os pacotes em uma ordem diferente da máquina original (o que é muito provável se durasse muito), eles terminariam em uma ordem diferente . Costumo copiar esses arquivos para algum lugar como / root / saved-from-old-system e editá-los manualmente, a fim de copiar apenas as contas que não são do sistema. (Provavelmente existe uma ferramenta para isso, mas não costumo copiar sistemas como esse com frequência suficiente para justificar a investigação de um).

Paul Gear
fonte