sábado, marzo 03, 2007

Configurando IPs Predeterminadas con DHCP

En algunas ocasiones (tal vez por curiosidad), consideramos la posibilidad de asignar una determinada IP a una determinada máquina utilizando DHCP. Pues bien, esto lo aprendí experimentando un poco con el archivo "/etc/dhcpd.conf".

Indagando un poco en nuestra "amiga" La Web, podemos conocer un poco el proceso de funcionamiento de un determinado protocolo, en este caso, DHCP. Es así que averigüe que al momento en que la tarjeta de red envía su petición de configuración al servidor (ó servidores) DHCP, dentro de los parámetros que envía se encuentra su dirección física (MAC Address) a la cual el servidor le asocia la dirección IP. Ahora, valiéndonos de esto, podemos configurar nuestro servidor DHCP para que asocie (o asigne) una determinada dirección IP a un computador específico.

Ahora llegó la hora de ver como se hace esto. En el archivo "/etc/dhcpd.conf" agregar el siguiente código:

host nombrePC {
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 192.168.1.69;
}

Esta directiva tiene que incluirse dentro de las opciones "subnet xxx.xxx.xxx.xxx netmask"

Este "tip" fue probado en Fedora Core 5, y si no hay mucho inconveniente, debería correr sin problemas.

Para ver un ejemplo sencillo de configuración de DHCP puedes acceder aquí.

miércoles, febrero 21, 2007

Recupear el GRUP despues de reinstalar Windows

Hay muchas personas que tienen corriendo dos sistemas operativos en su disco duro (Generalmente Windows y Linux), y en muchas oportunidades sucede que tenemos que reinstalar Windows por alguna razón (por lo general fallas causadas por virus). Una vez que reinstalan Windows pierden el GRUB.

Bueno, esto es lo que se debe hacer en esas ocasiones (Esto lo probé en Fedora 5):

  1. Arrancar el PC con el CD de Rescate o el Primer CD de instalación. En caso de que la PC no cuente con una lectora, puedes generar un diskette o un USB para bootear.
  2. En la pantalla de boot le pones "linux rescue" para cargar el modo rescate
  3. Una vez que se carga el modo rescate, se intentará cargar automáticamente la partición en "/mnt/sysimage" (En caso de que no suceda esto, lo puedes hacer utilizando el siguiente comando "chroot /mnt/sysimage")
  4. En el SHELL introduces el siguiente comando "grub-install /dev/hda"

Nota: En algunos casos puede que te aparezca el siguiente error "/sbin/grub-install : Not Found" o algo así. En ese caso lo que debes hacer es:

"# grub" Esto cargará el shell del Grub ("grub >")
"grub > root (hd0,5)" Donde 5 es la partición donde bootea Linux
"grub > setup (hd0)"
"grub > quit" Para salir del shell del Grub
"# exit" Para salir del modo rescate y reiniciar la PC

Una vez que hayas hecho esto, tendrás nuevamente tu Grub.

Espero te haya servido este artículo.

domingo, febrero 11, 2007

Diferencia entre empaquetar y comprimir

Mucho en algún momento nos hemos preguntado la diferencia entre empaquetar un archivo y/o directorio, y comprimir. Pues bien Empaquetar es agrupar en un solo archivo varios archivos y/o directorios, en cambio, comprimir significa aplicar un algoritmo (que no es otra cosa que un conjunto de pasos) que harán que el archivo ocupe menos espacio en el disco. Como vimos en el Post "Comprimiendo y Descomprimiendo Archivos con Linux", podemos empaquetar y comprimir archivos con el comando "tar". Pero, ¿Se puede comprimir sin necesidad de empaquetar?

La respuesta es Si. Para comprimir un archivo se usa el siguiente comando:
gzip mi_archivo que genera mi_archivo.gz

y para descomprimir
gunzip mi_archivo.gz

Otros comandos relacionados:

compress (genera archivos comprimidos con extensión .Z)
uncompress (descomprime archivos .Z)
zcat permite visualizar el contenido de un archivo comprimido (tal como cat pero sobre archivos comprimidos .gz)

Comprimiendo y Descomprimiendo Archivos con Linux

El empaquetado de archivos y directorios es una de las tareas más importantes en un sistema operativo porque nos permite realizar copias de seguridad (backups) entre otras cosas. Cuando se trabaja con información ésta está expuesta a muchos riesgos de ser borrada, perdida o alterada en forma involuntaria. Si se tiene un backup actualizado es fácil restituirla.

El comando que permite empaquetar (juntar en un solo archivo todo un directorio y contenido) es el comando tar cuya sintaxis varía según la acción, asi:

Para crear un archivo .tar
tar –cvf mi_archivo.tar /directorio/a/empaquetar

Para extraer el contenido de un archivo .tar ya creado
tar –xvf mi_archivo.tar

Para actualizar el contenido de un archivo .tar ya existente
tar –uvf mi_archivo.tar

Para agregar un directorio a un archivo .tar ya existente
tar –rvf archivo.tar /directorio/a/agregar

Para empaquetar y comprimir el archivo .tar
tar –cvzf archivo.tgz /directorio/a/empaquetar/y/comprimir

Para desempaquetar el archivo .tgz
tar –xvzf archivo.tgz

Ojo : Observa la extensión ".tgz" para el tar comprimido. Aunque también podemos ponerle como extensión ".tar.gz"

Veamos el significado de algunas de las opciones del comando tar (Para mayor información pueden utilizar "man tar" en la línea de comandos):

c crear
x extraer
u actualizar
f archivo (file)
v visualizar el proceso tar
r agregar un directorio a un archivo .tar
t visualizar el contenido de un archivo .tar
z comprimir el archivo

martes, febrero 06, 2007

Usuarios en Linux desde línea de comandos

Sabemos que Linux es un sistema multiusuario por lo que se hace necesario la administración de los distintos usuarios que van a hacer uso de los recursos del sistema.

Pues bien, en la mayoría de los diferentes sistemas operativos multiusuario podemos encontrar al menos 3 tipos de usuarios. estos son:

Usuarios Normales: con más o menos privilegios que harán uso de los recursos del sistema. Simplemente deben poder usar algunos programas y disponer de un directorio de trabajo.

Usuarios de Sistema: son aquellos encargados de los demonios del sistema, recordemos que para Linux todo es un fichero, el cual tiene un dueño y ese dueño tiene privilegios sobre él. Así, es necesario que algún usuario del sistema posea los procesos de los demonios. Resumiendo, es necesario que para algunos servicios del sistema se creen usuarios. Como puede ser el caso de Mail, irc, etc. estos usuarios tendrán los privilegios necesarios para poder hacer su tarea. Gestionar estos usuarios es de gran importancia. No obstante, este tipo de usuarios no necesita que se le asigne un shell, puesto que simplemente poseerán los demonios, pero no será necesario que hagan login en el sistema.

ROOT: Este es el "Todo Poderoso" de Linux. Cuidado con lo que se hace al entrar en el sistema como root. Él lo puede todo, en principio no hay restricciones para ÉL (aunque algunos programas nos avisarán de que estamos haciendo una auténtica burrada desde el punto de vista de la seguridad).

Bueno, antes que se aburran, con algo de teoría, vayamos al grano. Para crear un nuevo usuario en el sistema utilizaremos los siguientes comandos: useradd y passwd. Veamos como crear un usuario:

Creamos el usuario "miusuario"
# useradd miusuario

Asignamos una contraseña al usuario "miusuario"
# passwd miusuario

Después de ejecutar "passwd" pedirá que se ingrese dos veces la contraseña. Ojo siempre que crees un usuario desde la línea de comandos no debes olvidar asignarle una contraseña, pues sino no podrás utilizar el usuario creado.

Por otra parte, Linux al crear un usuario, crea por defecto un grupo con el nombre del usuario (en nuestro caso sería "miusuario"). Si queremos asignar un grupo diferente, hacemos lo siguiente:

Si no existe el grupo, lo creamos de la siguiente forma:
# groupadd migrupo

Creamos al usuario, desactivando el grupo que se crea por defecto y asignándole el grupo "migrupo":
# useradd -n -g migrupo miusuario

Asignamos una contraseña al usuario "miusuario"
# passwd miusuario

Ahora, si queremos asignar más de un grupo al usuario hacemos uso de la opción "-G grupo1,grupo2,...". (Ojo, "-g" y "-G" son opciones diferentes).

Espero que les haya servido este post.