ITECH Blog

Entrañas Sistemáticas

Comandos Peligrosos de Linux

leave a comment »

Algo que se nos pasa por alto a quienes nos iniciamos en Linux es el no buscar y conocer sobre los comandos que pueden destrozar el sistema y nos haga pasar 1 o 2 dias enteros volviendo a instalar y dependiendo si eres alguien algo cuidadoso que hace respaldos, dependiendo de ello, el volver a tener o no tu informacion.

Sabemos que todo usuario Linux tarde o temprano debe abrir la terminal, siendo esta una parte MUY poderosa del sistema operativo y lo que escribamos en ella podria ser igual como escribir en piedra. Puede haber comandos que hagan un reverso pero realmente no todo es asi.

Linux es un sistema poderoso el cual si no lo sabemos tratar, puede reducirse a nada por culpa del mismo usuario mas que todo. Debe tenerse MUCHO cuidado cuando se recurre a la terminal, pero esta precaucion es cuando se recurre a comandos ALTAMENTE PELIGROSOS del sistema, existen otros comandos que no son ningun peligro para el sistema operativo, la cuestion es saber cuales si y cuales no.

Por ejemplo, supongamos que vas a borrar una subcarpeta que esta fuera de tu home de usuario, ya sabes que debes recurrir a privilegios adinistrativos, incluso hasta podria ser una subcarpeta de tu home de usuario la que deseas borrar, si ejcutas algo como por ejemplo rm -R /carpeta1/carpeta2/carpeta3 pero que ocurre sin antes de terminar de escribir /carpeta3 descuidadamente pulsas la tecla Enter, ya que tal vez querias pulsar la tecla Shif que esta debajo de la tecla Enter o la tecla que esta arriba de Enter. Para este ejemplo, terminas borrando a carpeta2 el cual contenia a carpeta3 pero a muchas otras carpetas y archivos, y lo que borres en la terminal no lo conseguiras luego en ninguna papelera de reciclaje. La terminal no te preguntara si realmente estas seguro si deseas ejecutar o no, mucho de lo que escribas en la terminal y mandes a ejecutar, se ejecutara sin preguntarte nada. Existen programas que una vez instalados pueden ayudarte como el mc u algun otro donde si por descuido no terminaste de escribir toda la larga instruccion y sin quere pulsaste Enter borrando lo que no era, dicha informacion (carpetas o archivos) pasan a un .trash o si pueden ser recuperados de alguna forma. Asi que si aun no tienes nada que pueda revertir lo que hagas en la terminal, te aconsejo que vayas buscando para estar mas tranquilo con lo que escribes en la terminal, sobre todo para muchos que escribimos rapido y ni vemos el teclado al hacerlo.

Por internet se repite mucho unos comandos que se aconseja por nada del mundo aplicar a menos que desees destruir tu sistema linux, dichos comandos son los citados a continuacion:

rm -rf /
Este comando borrará de manera recursiva y convincente todos los archivos en el directorio raíz.

mkfs.ext3 /dev/sda
Este comando formatea la partición que se menciona después de mkfs.

any_command > /dev/sda
Este comando provoca perdida total de datos, en la particion que se menciona en el comando.

mv /home/tu-carpeta-home/* /dev/null
Este comando va a mover todo el contenido de tu carpeta Home a un directorio que no existe, esto significa que ya nunca volverás a ver tus archivos.

:(){:|:&};:Una bomba fork que satura la tabla de procesos del sistema, fácilmente evitable.

Otros comandos como el dd para particiones o redimenciones del disco que es usado tambien para respaldos, imagenes de disco, es muy peligro usarlo si no se indica correctamente lo que se desea, obviamente un usuario linux al recurrir a comandos tan peligrosos como los mencinados, deberia respaldar toda su informacion antes de intentar algo.

En mi caso ya me toco vivir una experiencia bien desagradable en un canal IRC donde por querer ayudar a un usuario a confirmarle un supuesto bug de Ubuntu 9.10 donde al parecer al matar un proceso de pulse-audio se le cambiaba el theme del sistema, colabore en una serie de pasos para recrear o presenciar dicho bug. Una cosa a hacer era agregar mi usuario a un grupo, pero el usuario que indico la instruccion le falto un agregado -a en la instruccion de todo el comando. Debo decir que la culpa fue tanto suya como mia obviamente.

Este usuario me indico aplicar un sudo usermod -G grupo miusuario pero resulta que si consultamos el manual de este comando tenemos esta informacion:

If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via the -a option, which appends the user to the current.

Esto informa que si el usuario es actualmente miembro de un grupo que no esta en la instruccion, el usuario sera eliminado de dicho grupo, para que esto no pase debe agregarse -a en las opciones del usermod asi nuestro usuario se anexara al nuevo grupo y tambien seguira en sus demas grupos, sino de lo contrario nuestro usuario se borrara de todos los demas grupos de usuarios en los que este presente. Al no poner -a en las opciones de usermod se borra todos nuestros grupos y deja solo el que le hemos pasado por -G y obviamente ya con esto muchas cosas dejan de funcionar. Que cosas dejan de funcionar? el sudo ya no nos sirve de nada obteniendo una informacion por la terminal de: is not in the sudoers file. This incident will be reported. Esto nos llevara a tener que iniciar el sistema por un recovery o en el peor de los casos reinstalar el sistema nuevamente, no es que sea la primera opcion pero existen personas que pueden quedarse intranquilas con dudas si estan en todos los grupos que estaban antes, si agregar o no nuestro usuario al grupo root es correcto, etc, prefiriendo posiblemente reinstalar el sistema para saber que las cosas vuelvan a estar como el mismo sistema nos las puso.

Consejos:

1. No escribas tan alegremente y tan confiadamente todo lo que te indiquen que hagas en los canales IRC, sabemos que mucha gente desea ayudar, pero existe otra poca gente que tal vez no, ya sea por descuido o por intencion. Al menos una vez en un canal irc llegue a leer como le indicaban a alguien usar el comando rm (comando de borrado) para algo que no era. Mi caso fue un descuido de quien indico el comando y otro descuido de mi parte no coroborar la instruccion.

2. Todo comando que te indiquen aplicar bien sea en un foro o canal de chat irc, confirmalo revisando su manual: !man comando.

3. De ser posible y mejor, instala Virtual Box y levanta un sistema virtual igual a tu host anfitrion y que sea ahi donde hagas todas esas pruebas, en caso de reventar el sistema, no seria originalmente el tuyo sino uno virtual para pruebas.

4. Recuerda cuales podrian ser los comandos peligrosos, incluso los que no podrian serlo pero que con opciones indevidas o faltantes (como en mi caso) terminan danando las cosas, y esos son platos rotos que siempre recogeremos nosotros, sea culpa de otros, nuestras o en parte de ambos.

Bien sea por las buenas o mas por las malas, Linux nos recuerda que es un sistema delicado al cual si no lo sabemos tratar como se le debe, terminaremos lamentandolo por el tiempo que nos tome volver a acomodar las cosas, la Terminal de Linux es algo que se debe de respetar igual como el Synaptic donde no se puede desintalar toda aplicacion que consideremos porque el nombre de un programa que deseamos quitar este en muchas partes.

Anuncios

Written by jocdz

noviembre 17, 2009 a 3:40 am

Publicado en Diario de hoy, Linux

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: