Académique Documents
Professionnel Documents
Culture Documents
Co
cin
uca
Ed
de
tro
en
C
Automatizacin de tareas
y recuperacin del sistema
Administracin Linux I - Modalidad Virtual
Tema 6
www.ricardoortega.com
Para recuperar el sistema se requiere acceso fsico al computador incluyendo arranque desde DVD
TENGA A MANO EL DVD DE INSTALACIN Para usar Linux en modo Rescue (Rescate) necesitar el
DVD de instalacin, con la misma versin que utiliz para instalar. Se puede rescatar el sistema con
versiones diferentes, pero es preferible hacerlo con la misma versin instalada. Tngalo a mano y por
supuesto junto al computador.
MODO SINGLE o MODO 1 La recuperacin del sistema se hace en modo 1 (single) o arrancando el
computador desde CD/DVD. No se recomienda hacerlo desde el modo grfico o con usuarios
conectados que pueden perder su trabajo.
LEA LOS MENSAJES: Observe los mensajes que le aparecen. No pase por alto los mensajes de error.
La mayora de usuarios no lee los mensajes y cuando se le pregunta qu deca el mensaje la
respuesta es no s, nunca leo los mensajes. Por supuesto que esa actitud no es propia de aspirantes
a administradores de redes.
REVISE LOS LOGS En el directorio /var/log se graban los mensajes del sistema y de varios programas.
Es conveniente que los mire antes de tomar alguna accin. Generalmente el log le dar una indicacin
del problema y posiblemente de su solucin.
1
NO FORMATEE El formateo y la instalacin del sistema debe hacerse solamente como ltimo recurso.
Bueno, si quiere practicar el formateo y la instalacin del sistema, no hay inconveniente en que lo haga,
pero la mayora de veces NO es necesario ya que Linux puede recuperarse en menor tiempo del que se
tarda en formatear e instalar el sistema.
2
Todas estas actividades las puede realizar el administrador ejecutando manualmente el comando, programa
o macro, pero la idea es decirle al sistema que ejecute estas tareas en un determinado momento, de forma
automtica, incluso en horas de la noche, fines de semana o cuando sea necesario.
Linux (y CENTOS especialmente) est perfectamente diseado y equipado para automatizar tareas. Por
algo es el sistema operativo ms utilizado en servidores de Internet, precisamente por las grandes
facilidades que brinda al administrador.
Existen tres alternativas: cron, anacron y at. Cada uno de ellos tiene sus particularidades, ventajas y
desventajas. Entre los tres mecanismos se logran excelentes resultados.
La palabra cron viene del griego chronos que significa tiempo. El cron de Linux se implementa mediante un
servicio (demonio) denominado crond que lee el archivo de configuracin /etc/crontab y ejecuta las tareas
indicadas en el crontab y sus archivos auxiliares.
El servicio crond ejecuta cada minuto, hora, da, semana, mes o con la regularidad que se pide en el archivo
crontab los comandos o scripts indicados en el mismo archivo crontab.
No est por dems recordar que si el crond no est corriendo, no se ejecutar ninguna tarea de crontab.
Recuerde que la d al final significa demonio. No es un error tipogrfico. El demonio se llama crond.
Para asegurarse que el crond se ejecuta cada vez que se inicia la mquina:
chkconfig crond on
Para configurar las tareas se utiliza el archivo /etc/crontab y los directorios asociados que facilitan la
automatizacin, que son:
El archivo crontab tiene este contenido mnimo (el administrador y los programas del sistema pueden
modificarlo, ya que se trata de un archivo de texto):
La primera lnea indica el shell que se encargar de ejecutar las tareas, en este caso, ser el bash.
La segunda lnea indica los directorios de bsqueda para localizar comandos que pueden haberse indicado
dentro de las tareas. Normalmente es la lista indicada, esto es, programas del superusuario (sbin).
La tercera lnea MAILTO sirve para enviar al usuario indicado (root) un mensaje indicndole cada tarea
realizada.
3
Luego vienen las lneas de configuracin de las tareas.
1. Minutos: (0-59)
2. Horas: (0-23)
3. Das: (1-31)
4. Mes: (1-12)
5. Da de la semana: (0-6), siendo 1=lunes, 2=martes,... 6=sbado y 0=domingo (a veces tambin
7=domingo)
##########################################################
#minuto (0-59), #
#| hora (0-23), #
#| | da del mes (1-31), #
#| | | mes (1-12), #
#| | | | da de la semana (0-6 donde 0=Domingo) #
#| | | | | comandos #
##########################################################
15 02 * * *
Para indicar todos los valores posibles de una columna (excepto comando) se usa un asterisco (*).
x La ltima columna corresponde a la ruta absoluta del binario o script que se quiere ejecutar.
En cualquiera de los valores antes indicados (excepto "comando"), se puede utilizar un asterisco (*) para
especificar todos los valores vlidos. Por ejemplo, un asterisco para el valor de mes significa que el
comando se ejecutar cada mes dentro de las limitaciones del resto de los valores.
Un guin (-) entre los nmeros enteros indica un intervalo de nmeros enteros. Por ejemplo, 1-4 significa los
nmeros enteros 1, 2, 3 y 4.
Una lista de valores separados por comas (,) especifica una lista. Por ejemplo, 3, 4, 6, 8 indica estos cuatro
nmeros enteros.
La barra (/) puede utilizarse para especificar valores de pasos (saltos). El valor de un nmero entero se
puede omitir dentro de un intervalo si se indica a continuacin del intervalo lo siguiente /<nmero entero>.
Por ejemplo, 0-59/2 puede usarse para definir el resto de los minutos del campo minuto. Es decir, dentro del
intervalo que va del 0 al 59, se omite el 2. Los valores de pasos tambin pueden utilizarse con un asterisco.
Por ejemplo, el valor */3 puede usarse en el campo de mes para omitir el tercer mes.
Como podr observar en el archivo /etc/crontab, usa el script run-parts para ejecutar los scripts en los
directorios /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, y /etc/cron.monthly cada hora, diariamente,
semanalmente o mensualmente, respectivamente. Los ficheros de estos directorios deben ser scripts de
shell. Si las tareas cron deben ejecutarse segn una programacin distinta a la hora, da, semana o mes,
esto puede agregarse en el directorio /etc/cron.d. Todos los ficheros de este directorio utilizan la misma
sintaxis que /etc/crontab.
Ejemplos de crontab
Ejemplos:
Ejecuta la orden who todos los lunes a las 10:30 y guarda la salida en el fichero quien.txt
Para especificar dos o ms valores en cada variable, estas deben estar separadas por comas,
siguiendo con el ejemplo anterior:
Ejecuta la orden who todos los lunes cada media hora y guarda la salida en el fichero quien.tex
En este ejemplo veremos como pasarle ms de un comando al cron (separado por punto y coma) y
de paso como puede programarse una descarga a las 23:30
30 23 * * * cd /home/ricardo;wget http://server/archivo_a_descargar
Este otro apaga el PC. En este caso todos los viernes (da 5) a las 22.30
30 22 * * 5 /sbin/shutdown -h now
crontab [ -u usuario ] { -l | -r | -e }
La opcin -u se utiliza para indicar el crontab de usuario que queremos administrar. Slo root podr usar la
orden crontab con esta opcin.
Hay varios valores predefinidos que se pueden utilizar para indicar la tarea cron:
5
Entrada Descripcin Equivale A
@yearly Se ejecuta una vez al ao 0 0 1 1 *
@annually (igual que @yearly) 0 0 1 1 *
@monthly Se ejecuta una vez al mes 0 0 1 * *
@weekly Se ejecuta una vez a la semana 0 0 * * 0
@daily Se ejecuta una vez al da 0 0 * * *
@midnight (igual que @daily) 0 0 * * *
@hourly Se ejecuta una vez cada hora 0 * * * *
Tambin esta disponible @reboot, que permite a un trabajo ejecutarse una vez cada vez que el
demonio cron se inicie, que eso tipcamente coincidir con el arranque del servidor. Puede ser tili
si es necesario levantar un servidor o demonio bajo un usuario en particular o si el usuario no tiene
permisos al archivo rc.d/init.d.
Para crear un crontab como un usuario se deba seguir este procedimiento: "Inicie la sesin como ese
usuario y escriba el comando crontab -e para modificar el crontab del usuario con el editor especificado por
la variable de entorno VISUAL o EDITOR. El fichero usa el mismo formato que /etc/crontab. Cuando se
guardan los cambios en crontab, el crontab se almacena segn el nombre de usuario, y se escribe en el
fichero /var/spool/cron/username. El demonio cron controla lo siguiente: el fichero /etc/crontab, el directorio
/etc/cron.d/ y el directorio /var/spool/cron cada minuto para cada cambio. Si se encuentra algn cambio,
estos se descargan en la memoria. De este modo, el demonio no necesita ser reiniciado si se cambia un
fichero crontab."
Ejemplos:
Reiniciar la mquina cada 30 minutos, al minuto 5 y al minuto 35, todas las horas, todos los das, todos los
meses, todos los das de la semana:
5,35 * * * * reboot
Respaldar /etc todos los domingos: 0 4 * * 0 tar -zcf /root/etc.tar.gz /etc Respaldar /var todos los das a las
4AM
El usuario root puede utilizar siempre cron, sin prestar atencin a los nombres de usuarios listados en los
ficheros de control de acceso. Es decir, que si se es un usuario root, no hay que preocuparse por los
nombres de usuario.
6
Si existe el fichero cron.aiiow, tan slo se permitir a los usuarios presentes en la lista utilizar cron y el
fichero cron.deny se ignorar.
Si cron.allow no existe, ninguno los usuarios listados en cron.deny podr usar cron.
Anacron es un mecanismo que sin sustituir al cron, lo complementa. Su nombre viene de Asynchronous
cron, o sea cron asncrono que traducido significa tiempo sin sincronizacin.
Cada vez que se ejecuta al anacron, este lee el archivo de configuracin que especifica qu trabajos
anacron se ejecutarn y su periodo en das. Si un trabajo no fue ejecutado en los ltimos n das (n es el
periodo de ejecucin del trabajo) entonces anacron lo ejecuta y guarda un histrico de cundo fue la ltima
vez que se ejecut, de esta forma conocer cundo ejecutarlo de nuevo.
Cuando los comandos a ejecutar finalizan: anacron sale. Es decir anacron no se queda en la memoria
trabajando continuamente como cron.
Recuerde que anacron slo puede medir el tiempo para ejecutar un programa en das.
Anacron intenta ser una ayuda sobre todo para usuarios de laptops y para personas que slo encienden su
computadora unas horas al da, por ejemplo en laboratorios de clases.
Qu no es Anacron?
anacron no es un intento de hacer algo redundante al cron. No puede ser usado para programar tareas a
intervalos menores a un da. Adems tampoco garantiza que un comando se ejecutar en una hora o da
especfico. Anacron har lo mejor posible para ejecutar un comando que le hayan indicado pero se podr
precisar una hora o da exactos.
7
Parece tener lo mismo que crontab, pero no es as. Observe que las dos primeras columnas son diferentes.
Este archivo permite que si por alguna causa el crond no estuvo corriendo continuamente, el anacron se
encarga de procesar las tareas atrasadas (no ejecutadas) del cron.
periodo: Frecuencia (en das) con la que se ejecuta el comando demora: Cunto tiempo esperar, en
minutos, para ejecutar una tarea. Anacron no ejecuta las tareas inmediatamente cuando le toca. Como
anacron se ejecuta solamente al arrancar el sistema, se introduce esta demora para evitar que se
sobrecargue el sistema en el mismo proceso de arranque. Tpicamente se escogen valores superiores a
una hora, para que el sistema tenga ya una hora funcionando al ejecutarse las tareas de anacron.
identificador: Es la descripcin de las tareas, usadas en los mensajes anacron, puede contener cualquier
carcter que no sean espacios en blanco ni barras oblicuas
(/).
Por cada tarea, anacron determina si la tarea ha sido ejecutada dentro del perodo especificado en el campo
periodo del archivo de configuracin. Si no se ha ejecutado dentro de ese perodo, anacron ejecutar el
comando especificado en el campo comando despus de esperar la cantidad de tiempo especificado en el
campo
demora.
Una vez finalizada la tarea, anacron registra la fecha en el archivo de marca de fecha que se encuentra en
el directorio / var/spool/anacron. Slo se utiliza la fecha (no la hora), y se usa el valor de identificador como
nombre de archivo.
marca de hora.
Las variables de entorno, como shell y path, pueden definirse en la parte superior de /etc/anacron, de forma
similar al fichero de configuracin de cron.
Observe que el anacron NO termina con una letra d. Son cosas de los desarrolladores de Linux que estn
abandonando la letra d al final de los demonios.
8
6.1.4 LAS FACILIDADES AT Y BATCH
at en ingls significa en o a las, refirindose a tiempo. Lo que significa que podemos pedir al sistema que
a las 21 horas por ejemplo ejecute una bsqueda por virus. A diferencia del cron o del anacron, la tarea
se ejecutar una sola vez (a menos que incluya alguna forma de repetir la tarea, por ejemplo otro at).
at 21:00
> clamav /
> ^D
Observe que se usan varias lneas. El comando at permite escribir varias lneas y terminar cuando se
presiona las teclas CONTROL-D. (que aparecen como ^D).
Otros ejemplos:
at 10:15
> reboot
> ^D
Programar un reinicio del sistema (reboot) a la hora indicada: las 10 horas 15 minutos de la maana.
at 12.12.2010 21:23
> /etc/init.d/apache stop
> sleep 600
> /etc/init.d/apache start
> ^D
La instruccin
at 21:00 f /root/programa1
La instruccin:
at -l
Utilidad de AT
Mientras que cron y anacron se usan para programar tareas, el comando at se usa para programar una
nica tarea en un tiempo especfico. El comando batch se usa para programar que se ejecute una sola tarea
cuando la carga del sistema sea menor a 0.8 (ver top).
at slo permite ejecutar un comando o script una sola vez, mientras que el cron puede hacerlo repetidas
veces.
Configuracin de tareas
Para programar una tarea no repetitiva en un tiempo especfico, hay que escribir el comando at time, en el
que time es el tiempo para ejecutar el comando. El argumento time puede ser uno de los siguientes:
9
formato HH:MM : Por ejemplo,04:00 especifica 4:00AM. Si se inserta el tiempo, la tarea se ejecuta en el
tiempo especfico el da despus. midnight : Especifica 12:00AM. noon : Especifica 12:00PM. teatime:
Especifica 4:00PM.
formato MMDDYY, MM/DD/YY, o MM.DD.YY : Por ejemplo, 011502 para el da 15 de enero del ao 2002.
(Los expositores recordaron que en Estados Unidos se pone el mes antes que el da y, por eso, el formato
es de esta manera: mes/da/los dos ltimos dgitos del ao).
now + tiempo : El tiempo est en minutos, horas, das o semanas. Por ejemplo, ahora + 5 days, especifica
que el comando debera ser ejecutado a la misma hora en 5 das. Este formato es el ms utilizado.
La hora debe ser especificada en primer lugar, seguido por la fecha opcional.
Tras haber escrito el comando at con el argumento del tiempo, el prompt at> ser visualizado. Una vez
hecho esto, se escribe el comando a ejecutar, se pulsa [Intro] y se escribe Ctrl-D.
Se puede especificar ms de un comando escribiendo cada comando seguido de la tecla [Intro]. Despus
de haber escrito todos los comandos, se pulsa [Intro] para obtener una lnea en blanco y se escribe Ctrl-D.
Alternativamente, se puede introducir un script de shell en el intrprete de comandos y escribir Ctrl-D en una
lnea en blanco para salir.
Si la configuracin de comandos o el script intenta mostrar informacin, la salida de datos ser enviada va
correo electrnico al usuario.
El batch es similar al at, pero con una diferencia: ejecuta una tarea no repetitiva cuando el promedio de
carga del sistema est por debajo de 0.8.
Tras haber escrito el comando batch, se visualiza el intrprete de comandos at>. Hay que escribir el
comando a ejecutar, pulsar [Intro] y escribir Ctrl-D. Se puede especificar ms de un comando al escribir
cada comando seguido de la tecla [Intro]. Tras haber escrito todos los comandos, se pulsa [Intro] para
acceder a una lnea en blanco y se escribe Ctrl-D.
En todo lo dems, batch es similar a at, excepto en que solamente ejecutar la tarea si la carga es inferior a
0.8, caso contrario, la posterga hasta que la carga del sistema la permita.
Opciones Descripcin
-f Lee los comandos o script del shell desde un archivo en vez de ser
especificados en el intrprete de comandos.
10
Control de acceso a At y Batch
Los archivos /etc/at.allow y /etc/at.deny pueden ser usados para restringir el acceso a los comandos at y
batch. El formato de ambos ficheros de control de acceso es un nombre de usuario en cada lnea. El
espacio en blanco no est permitido en ningn fichero. El (atd) demonio at no deber ser reiniciado si los
ficheros de control de acceso son modificados. Los expositores aclararon que los ficheros de control de
acceso se leen cada vez que un usuario intenta ejecutar los comandos at y batch.
Por supuesto, el usuario root siempre puede ejecutar los comandos at y batch, sin tener en cuenta los
ficheros de control de acceso.
Si existe el fichero at.allow tan slo se permitir a los usuarios listados usar at o batch y el fichero at.deny
ser ignorado.
Si at.allow no existe, a ninguno de los usuarios listados en at.deny se les permitir usar at o batch.
Para iniciar el servicio at, se usa el comando /sbin/service atd start. Para detener el servicio, usa el
comando /sbin/service atd stop. Se recomienda que se inicie el servicio durante el momento de arranque.
Considerando que es mejor prevenir, el administrador deber tomar medidas preventivas para mitigar los
problemas de una falla catastrfica, especialmente sacando respaldos y aplicando medidas de seguridad
para evitar virus, intrusiones y errores.
Indudablemente los desastres existen, y en su mayora no se pueden evitar, pero lo que s se puede hacer
es prevenir y mitigar los efectos. El expositor principal advirti "Hay que estar muy bien preparados para
que, cuando ocurran estos inevitables desastres, podamos tramitar rpidamente cualquier evento que se
d".
Es muy importante mantener polticas de accin ante fallas, escribirlas, detallarlas y practicarlas en nuestra
organizacin. Estas polticas son propias de cada una de las organizaciones por lo que no existe un
procedimiento nico para trabajar.
Estos estudios deben realizarse no slo para nuestros servidores Linux... van mucho ms all de un curso
de Linux y son un punto muy importante a tener en cuenta en una organizacin.
Algunos sitios que pueden ayudar a analizar planificaciones ante desastres. Se sugiere revisar
http://www.linux-backup.net/ http://www.disasterplan.com/
"Adems", aadi, "siempre es importante, para lograr la estabilidad, realizar una buena planeacin del
sistema que vamos a correr, verificar que tengamos un sistema que sea actualizable durante largos
periodos de tiempo, pues en las actualizaciones se corrigen una enorme cantidad de problemas que pueden
causar desastres o situaciones definitivamente evitables si tenemos un servicio que se puede actualizar".
Aqu veremos cmo solucionar fallas y errores frecuentes, frente a estos tipos de fallas:
c) Fallas ambientales
d) Errores humanos
No haga nada que agrave la situacin o que destruya datos, como formatear, intentar cambiar de posicin
los discos, ejecutar programas de recuperacin sin haber tenido experiencia previa, mover equipos o partes
sin tener el entrenamiento adecuado. Ahora que si quiere cobrar experiencia y no interesa la informacin ni
los equipos, adelante, haga Ud. lo que sea necesario para tomar experiencia.
Lo primero que se debe hacer en una situacin real es NADA. Calmarse, analizar durante unos minutos la
situacin y hacerse las siguientes preguntas:
2. Es posible que la falla haya sido el resultado de un delito informtico? Si la respuesta es S, es importante
que NO HAGA NADA. Las evidencias informticas deben ser recolectadas mediante procedimientos
estrictos y perfectamente establecidos. Si Ud. no es un experto en informtica forense, NO HAGA NADA,
contacte a uno de ellos.
4. Dispone de equipos de contingencia? Si la respuesta es S, use un equipo alterno hasta que el equipo
afectado regrese a su normal operacin.
5. Es posible que se trate de una falla fsica? Si es as, primero ejecute pruebas de diagnstico.
Las alternativas que puede considerar para reparar el problema por su propia cuenta son las siguientes
(aqu describimos cada uno de ellos):
Una vez que tiene arriba el sistema (sea desde el disco duro o sea desde el DVD) puede hacer lo siguiente:
4. Desactivar el selinux
5. Reinstalar el grub
12
6. Desactivar algunos servicios que estn dando problemas
En el kernel por defecto, presionar la tecla a y agregar la palabra single (sin comillas).
Si su GRUB est con clave, le pedir una clave. Deber escribirla. Si no conoce la clave, deber usar el
DVD de Linux, segn se explica ms adelante.
El sistema arrancar en modo monousuario (modo 1 o modo single), sin ambiente grfico ni red, nos
mostrar un shell bash con privilegios desde el que podremos, por ejemplo, cambiar la clave de root o, en
general, realizar cualquier tarea que no requiera o que no deseemos que tenga la red activa.
Y cmo se cambia la clave de root? Pues con el comando passwd o editando el archivo /etc/passwd y
removiendo la letra x de la columna correspondiente a la contrasea. Esos temas ya fueron tratados en
captulos anteriores.
Es posible que en algunas distribuciones no pueda ingresar al modo single. En tal caso, tendr que usar el
DVD de CENTOS.
En esta pantalla deber presionar la tecla a (minscula). No hace falta dar ENTER. No escriba ENTER
porque terminar arrancando el sistema.
13
En esta pantalla se agrega un espacio en blanco y la palabra single. Luego se presiona la tecla ENTER.
El CD 1 (o DVD) de CentOS (RHEL) es booteable, es decir, se puede arrancar. Recuerde que as fue cmo
se instal el sistema.
14
Este CD nos da una opcin muy, muy til que es la llamada Linux Rescue. Esta opcin nos permite arrancar
desde el kernel que est instalado en nuestro CD/DVD, y, mediante un pequeo script de arranque, este CD
ser capaz de detectar las particiones de Linux que tengamos instaladas y las montar en el directorio
/mnt/sysimage
15
Generalmente no se activan las tarjetas de red.
16
Observe atentamente esta pantalla. Acaba de montar la particin del sistema dentro del directorio
/mnt/sysimage
Mire que en el directorio raz estn solamente 16 directorios, que estn presentes en el disco duro. No
existe home.
Al ingresar a /mnt/sysimage observamos todos los directorios de nuestro sistema (el que est en el disco
duro).
17
Al intentar escribir el comando ll nos sale error, por la sencilla razn de que NO existe en el rbol de
directorios del DVD. Bueno, existe, pero est dentro de los .RPMs del sistema.
Luego de escribir chroot /mnt/sysimage, tenemos el rbol completo de nuestro disco duro.
fdisk:
El fdisk es sencillamente, como en Windows, un comando que se usa muy infrecuentemente, sobre todo
para darle de alta (particionar) nuevos discos o para revisar o corregir discos con particiones previamente
creadas.
mkfs.ext3 Permite formatear una particin que ya hayamos creado con el fdisk. Por ejemplo: mkfs.ext3
/dev/hda3 formatear la particin hda3 con el formato ext3.
fsck /dev/hda1 (o cualquier otra particin que requiramos, por ejemplo sda1.
El mensaje nos dice que puede existir problemas si ejecutamos fsck sobre una particin montada. Podemos
desmontar la particin (recuerde que arrancamos con CD, as que podemos desmontar la particin sin
problema).
Este es uno de los comandos ms usados a la hora de usar el Linux Rescue, pues muchas veces el sistema
falla por una cada desordenada y debemos realizar una revisin del FS. En efecto, aunque el FS tipo ext3
es muy bueno recuperndose, a veces hay que ayudarle a recuperarse.
19
En caso de encontrar un error el fsck nos preguntar qu hacer y nos sugerir la variante ms conveniente".
Recuerde que si existe informacin valiosa en el disco duro, es preferible detener cualquier actividad y
poner el disco o el equipo en manos expertas. En cualquier otro caso, responda que S (o yes) a las
preguntas del fsck.
En todos estos aos de trabajo no hemos hallado ninguna razn por no decir que "yes" a la variante que
presenten, por lo tanto cuando pregunte si aceptamos reparar o borrar algo, sugerimos siempre digan y".
Tambin se puede ejecutar el fsck -y /dev/xxx con el switch -y el sistema asumir que diremos s a todas las
preguntas.
La nica diferencia es que la raz del sistema original queda en /mnt/sysimage. "Cul es el objetivo de
poner la raz del sistema original en otro directorio?".
La respuesta es "Evitar que si los binarios del sistema original han sido cambiados por un atacante,
podamos usar los binarios bsicos que nos brinda el cd de arranque".
Ahora, si estamos seguros de que no es un problema de un ataque, o si estamos sencillamente ante una
situacin diferente a un ataque como por ejemplo: que queremos cambiar la clave de root porque la hemos
perdido o si queremos reinstalar el grub, o si, en general, necesitamos realizar reparaciones que conocemos
su alcance y sabemos que, repito, no es un ataque podemos enjaularnos en ese directorio para usar el
rbol de directorio tal y como se usa en un sistema normal.
Con este comando, logramos trasladar la raz de nuestro sistema hacia /mnt/sysimage, de forma tal que
tenemos exactamente en el rbol de directorio de nuestro servidor. Esto se conoce como enjaular. En este
caso, la jaula es muy conveniente para nosotros ya que podemos utilizar la raz de nuestro sistema Linux
exactamente como si hubiesemos arrancado con el disco duro.
Una vez dentro de la jaula podemos proceder cambiar la clave de root, por ejemplo:
passwd
o tambin podemos editar /etc/passwd y eliminar la x que est en la segunda columna. Esta, estimados
asistentes, es una forma un poco dura pero efectiva de eliminar la clave de root.
root:x:0:0:root:/root:/bin/bash
Otra utilidad de enjaularse en el sistema original puede ser la de reemplazar o sustituir un paquete rpm, por
ejemplo un nuevo kernel o un kernel que se sabe que bootea. Una vez en el shell, se lo puede arreglar.
Adems, si se ha perdido el grub (por ejemplo porque se ha instalado Windows y Windows siempre cambia
el MBR y pone su propio loader) se puede usar esta va: /sbin/grub-install /dev/hda (o el nombre del disco
duro original, que puede ser mirado con fdisk l)
Esto permitir reescribir el grub hacia el disco /dev/hda y restaurar todas las configuraciones de ste.
20
Reinstalar el grub es una accin un poco traumtica pero que ocurre a veces, sobre todo cuando se ha
instalado Windows despus de haber instalado Linux.
Si Ud. utiliza solamente paquetes provenientes del DVD original y actualiza paquetes con yum, no tendr
problemas, pero a veces no hacemos esto, o tenemos servidores con software viejo, o archivos de
configuracin viejos y no queremos o no podemos actualizar .
setenforce 0
Lo cual desactivar el SELinux hasta el prximo arranque o hasta que activemos el SELinux.
Una vez dentro del sistema en modo rescate, se procede a editar el archivo de configuracin del SELinux:
vi /mnt/sysimage/etc/sysconfig/selinux
vi /etc/sysconfig/selinux
El DVD de CentOS ofrece una sencilla forma de verificarlo, el MemTest, eso s, teniendo en cuenta que:
El programa memtest no se instala, por lo que se puede correr desde cualquier mquina, sea cual sea el
sistema operativo que corra.
El memtest se mantendr corriendo ilimitadamente, tantas veces como sea necesario iterar. Les mostrar
en la pantalla inferior cualquier error que ocurra
Para salir del memtest sencillamente sacar el DVD y apretar ESC, y el sistema arranca normalmente.
Esta es una herramienta muy til para revisar todas las mquinas de forma frecuente.
21
El programa memtest seguir corriendo indefinidamente hasta que presione ESC. Antea de hacerlo, retire el
CD/DVD de la unidad para que reinicie el disco duro.
22
6.2.9 Reinstalar el grub
Si por algn motivo el grub no arranca (por ejemplo ha instalado Windows en otra particin), ingrese a modo
single y escriba
grub-install /dev/sda1
Por supuesto, deber verificar primeramente con fdisk l a ver cual es el nombre del dispositivo de
arranque, que bien podra ser /dev/hda1 o cualquier otro que contenga el directorio raz.
GRUB
Acceso Remoto
RAID
LVM
Logs
Instalacin de paquetes
RPM
YUM
Programacin shell
Scripts bash
Seguridades en el filesystem
Antivirus y deteccin de intrusos
23