Copiar usuarios y contraseñas de Linux a un nuevo servidor

26

Estoy migrando sobre un servidor a un nuevo hardware. Una parte del sistema será reconstruida. ¿Qué archivos y directorios son necesarios para copiar para que los nombres de usuario, contraseñas, grupos, propiedad de archivos y permisos de archivos permanezcan intactos?

Ubuntu 12.04 LTS.

Mikko Ohtamaa
fuente

Respuestas:

39

Empezar con

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

Asegúrese de asegurarse de que los permisos en los archivos también sean correctos

user9517 es compatible con GoFundMonica
fuente
55
+1 de mi parte Yo también me preguntaba /home; en general, las claves ssh viven en los directorios de inicio, por lo que ~/.sshal menos pueden considerarse parte de la infraestructura de autenticación.
MadHatter apoya a Monica el
2
@MadHatter: En verdad, supuse que el OP sabría que necesitaban copiar los directorios de inicio de los usuarios, pero supongo que nunca se sabe aquí en SF :)
user9517 es compatible con GoFundMonica el
2
No te preocupes, el autor lo sabe.
Mikko Ohtamaa
2
Aunque lo anterior funcionará, también deberías copiar sobre gshadow.
symcbean
66
Un punto importante: esto supone un servidor con autenticación basada en archivos solamente. Para migrar un servidor que utiliza, por ejemplo, LDAP o NIS, estos archivos no serán suficientes, especialmente si el servidor de autenticación está en el mismo sistema. Otros subsistemas (por ejemplo, Samba, SQL) también pueden tener sus propias bases de datos de autenticación.
thkala
13

Ya hice esto con Gentoo Linux y copié:

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

Eso es.

Si los archivos en la otra máquina tienen ID de propietario diferentes, puede cambiarlos a los que están en / etc / group y / etc / passwd y luego tiene los permisos efectivos restaurados.

vanthome
fuente
11

Tenga cuidado de no eliminar ni renumerar las cuentas del sistema cuando copie sobre los archivos mencionados en las otras respuestas. Los servicios del sistema no suelen tener identificadores de usuario fijos, y si ha instalado los paquetes en un orden diferente al de la máquina original (lo cual es muy probable si fuera de larga duración), terminarán en un orden diferente . Tiendo a copiar esos archivos en algún lugar como / root / saved-from-old-system y editarlos manualmente para copiar las cuentas que no son del sistema. (Probablemente haya una herramienta para esto, pero no tiendo a copiar sistemas como este con la frecuencia suficiente como para justificar la investigación de uno).

Paul Gear
fuente