domingo, 10 de enero de 2010

Reinstalar Ubuntu / Guadalinex y recuperar usuarios

Después de reinstalar Ubuntu (mi distribución Guadalinex) tras hacer un destrozo he podido salvar los muebles porque los datos de usuario que están en el directorio "/home" están en una partición distinta. Esto es muy importante tenerlo en cuenta al realizar la primera instalación.

La reinstalación no la voy a contar en esta ocasión, pero en Slice of Linux explica muy bien los pasos que debemos hacer para reinstalar respetando la partición que contiene el directorio "/home".

El problema viene cuando una vez reinstalado Ubuntu ha tomado nuestro usuario con los datos que tenemos en "/home", pero cuando vamos a dar de alta a los otros usuarios que también estaban en nuestra anterior instalación y que también tienen sus carpetas personales en directorio "/home", ej: "/home/pepe".

Bien lo primero es que al dar de alta al usuario en
Sistema -> Administración -> Usuarios y grupos
nos va a dar este error:


Vemos en la pestaña "Avanzado" que al crear un usuario "pepe" se crea un directorio en /home con el mismo nombre y este ya existe de la instalación anterior.

1. Lo primero que voy a hacer, por seguridad, es copiar los datos de usuario que voy a trastear esto no es necesario, pero como es necesario trabajar como root me curo en salud.
Abro nautilus como root , si no tenemos instalada la opción desde el mismo nautilus desde el terminal con: sudo nautilus

Ahora copiamos la carpeta del usuario que queremos añadir en este ejemplo, el usuario: "pepe" y el directorio "/home/pepe" se copia en "/home/pepe (copia)". Bien esto, como digo no es necesario, pero da tranquilidad y al final podemos borrar la copia una vez vaya todo bien.

2. Ahora volvemos a la ventana de administración de usuarios para dar de alta a nuestro usuario (pepe) en Sistema -> Administración -> Usuarios y grupos
y una vez rellenada la primera pestaña (si pulsamos Aceptar fallaría) vamos a la última pestaña "Avanzado" y cambiamos el nombre del directorio del usuario, por ejemplo en lugar de "/home/pepe" a "/home/pepe2" y ahora Aceptamos.



















Se ha creado el directorio "/home/pepe2".


3. Esta parte se compone de dos fases primero vamos a asignar permisos de pertenencia a nuestro directorio antiguo "/home/pepe" y después permisos de acceso.
  • Permisos de pertenencia
    Bien, desde nautilus (como root) nos situamos en "/home" y encima del directorio recién creado "home/pepe2" pulsamos propiedades vemos los permisos que debe de tener el directorio:
  • Estos permisos son los que le vamos a dar, pero para esto después de varias pruebas me ha sido más útil usar el terminal y el comando chow. Este comando sirve para asignar grupos y usuarios en una terminal, con -R es recursivo (para todo lo que está dentro del directorio). Así para asignar permisos de pertenecia a un 'usuario' y un 'grupo' a un 'directorio' concreto escribimos desde un terminal la sintaxis:

    chown -R usuario:grupo directorio

    Siguiendo nuestro ejemplo para el usuario 'pepe' , el grupo 'pepe' y el directorio 'pepe', escribimos desde la terminal (sustituir pepe por el usuario en cuestión):

    cd /home

    sudo chown -R pepe:pepe pepe


  • Permisos de acceso
    Si vemos las propiedades del directorio "/home/pepe" vemos que ya se han tomado los nuevos valores:
  • Ahora comparamos que tengan los mismos valores en propiedades que "/home/pepe2" y modificamos si es necesario (he marcado en rojo lo suceptible de ser modificado).




4. Ahora viene lo último volvemos a a la ventana de administración de usuarios
Sistema -> Administración -> Usuarios y grupos y pulsamos "Propiedades" ir a la pestaña "Avanzado" y modificar la ruta del directorio asignado al usuario 'pepe' por el directorio con todos sus permisos en "/home/pepe".



Aceptamos y si todo ha ido bien ya hemos terminado, vamos a probar a entrar con el nuestro antiguo usuario.