Refosco Ingeniería Informática

Refosco Ingeniería Informática
Rivadavia 877 CP 3306 Oberá Mnes. Te 03755 406060

sábado, 20 de marzo de 2010

Recuperar el GRUB

En la PC de casa como siempre hubo problemas en Win y al recuperar el mismo el GRUB desapareció y me quedé sin la posibiliad de arrancar mi Ubuntu, por lo que me dispuse a recupera el GRUB, hé aquí los pasos.. espero que les sirva.
-Bootear con lo que sea.. la idea es tener una terminal de linux.
-Luego vamos a la consola o terminal y tipeamos fdisk -l , el -l es para que liste las tablas de particiones que detectó el SO al bootear. Acá en mi caso obserbé que mi particion de Ubuntu era la /dev/sda6  y alli esta mi perdido GRUB.
-Ejecuto  mount /dev/sda6 /mnt, con esto monto todo mi Ubuntu en el Directorio /mnt de mi linux.
Desde Linux 2.4.0 es posible volver a montar  parte del File System  en otra parte. La llamada es :
                     mount - bind directorio_nuevo directorio_viejo Después de esta llamada el mismo contenido es accesible en dos lugares.  También se puede montar un solo archivo (en un solo archivo).
O sea que ahora el contenido esté en /dev , como normalmente sucede cuando andaba mi Ubuntu.
-Ahora ejecuto chroot /mnt , con esto le digo a mi linux que el nuevo root está en /dev/mnt..

-Se ejecuta grub-install --recheck /dev/sda , la opción : --recheck es para controlar el /dev/sda. En este punto el grub-install comienza a buscar e instalar el GRUB en el Master Boot Record y aparece:

Probing device to guess BIOS Driver. This may take a long time
Searching for GRUB instalation directory.. found /boot/grub


Aca en mi caso demoró como 5 minutos.. no desdesperar..

Installing Grub to /dev/sda as (hd0)
Instalatiòn finished. No error reported.
This is the contens of the device map /bootgrub/device.map

Check if this is correct or not. If any of this lines is incorrect, fix it and re-run the script 'grub-install'
#/dev/fd0
#/dev/sda
Que para mi caso estaba bien..así que reinicié y escribí este artículo.
En algunos casos los comandos se deberán correr anteponiendo el "sudo".

lunes, 8 de marzo de 2010

Crear usuarios en forma masiva

Hola .. resulta que tube que tranportar las cuentas de un servidor de correo viejo a otro nuevo. Para ello hice un listado de los usuarios que al pegarlos en en calc me pregunta el separador de campos ..eligiendo el adecuado me queda todo separado por columnas. Luego eliminé las columnas y finalmente dejé un archivo de texto con el siguiente formato:
1:loginname1:Nombre de Usuario
2:loginname2:Nombre de Usuario
..
...
..
Este archvo se lo guardo en /root/usuario
El script quedó de la siguiente forma:

#!/bin/bash
#Contamos la cantidad de usuarios
#el archivo de los usuarios, contiene un listado de todos los usuarios a agregar
#con la estructura nro: loginname:NumeroUsuario
lineas=`cat /root/usuarios | wc -l`
let lineas=lineas+1
i=1
#bucle hasta que $i es igual al numero de lineas, es decir, hasta que se ha leido
#todo el fichero
while [ $i -lt $lineas ];do
    #obtenemos cada una de las lineas
    linea=`head -$i /root/usuarios | tail -1`
    id=`echo $linea | cut -d: -f1`
    let id=id+1000
    #nombre login del nuevo usuario
    loginname=`echo $linea | cut -d:  -f2`
    #fullname  del nuevo usuario
    fullname=`echo $linea | cut -d:  -f3`
    mkdir /home/$loginname
    chmod 755 /home/$loginname
    chown -R $id:100  /home/$loginname
    useradd -u $id -g 100  -p 1234  -d /home/"$loginname"  -c "$fullname" -s /bin/false   "$loginname"
    let i=i+1
done

Lo que resta ahora, es solucionar el tema de los passwords que como vemos todos tienen 1234 , para ello tomamos la línea correspondiente al usuario de /etc/shadow y la reemplazamos en el /etc/shadows del nuevo server.
Hasta aqui tendré creados todos los usuarios con sus respectivos directorio y la contaseña que tenían.