Qué es Linux y por qué domina servidores y ciberseguridad
Abra una terminal en su Ubuntu y escriba uname -a. Verá algo así:
$ uname -a
Linux ubuntu 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC ... x86_64 GNU/LinuxEsa línea resume la lección: "Linux" es el kernel, 6.8.0 su versión, "Ubuntu" la distribución y "GNU/Linux" el origen de las herramientas que lo rodean. Los números cambian según su versión.
Qué es un sistema operativo
El sistema operativo administra el hardware (procesador, memoria, disco, red) y lo reparte entre los programas. Windows, macOS, Android e iOS son sistemas operativos; Linux también.
Kernel y distribución
El kernel (núcleo) Linux es la pieza que habla directamente con el hardware, decide qué programa usa el procesador en cada momento y controla quién puede leer cada archivo. Una distribución es ese kernel más lo necesario para trabajar: la shell, los comandos básicos, un gestor de paquetes para instalar programas y, a veces, un escritorio gráfico. Ubuntu, Debian, Fedora y Kali Linux son distribuciones.
El kernel es el motor; la distribución, el carro completo. Lo que más cambia entre una y otra es el gestor de paquetes (apt en Ubuntu y Debian, dnf en Fedora y Red Hat). Los 15 comandos de este curso funcionan igual en casi todas.
Breve historia
| Año | Hito |
|---|---|
| 1969 | Ken Thompson y Dennis Ritchie crean Unix en los Laboratorios Bell. De ahí vienen la filosofía y muchos comandos que usará, como ls o cat. |
| 1983 | Richard Stallman inicia el proyecto GNU para crear un sistema tipo Unix libre. Escriben compiladores, la shell bash y casi todas las herramientas, pero falta el kernel. |
| 1991 | Linus Torvalds, estudiante en Helsinki, anuncia un kernel hecho "como pasatiempo". Unido a las herramientas GNU nace un sistema completo y libre; por eso algunos lo llaman GNU/Linux. |
| 1993–1994 | Aparecen las primeras distribuciones duraderas: Slackware, Debian y Red Hat. |
| 2004 | Ubuntu, basada en Debian, acerca Linux al escritorio. Es la que usará en este curso. |
| 2008 | Sale Android, que usa el kernel Linux. |
Lo que explica que siga vivo es la licencia libre: cualquiera puede usar, estudiar, modificar y redistribuir el código, y por eso un fabricante de routers lo mete en sus aparatos sin pagar licencias.
Dónde se usa
| Lugar | Qué encuentra |
|---|---|
| Servidores web y bases de datos | Buena parte de los sitios de internet |
| Nube | Máquinas virtuales en AWS, Azure y Google Cloud; contenedores Docker y Kubernetes |
| Supercomputadoras | Desde noviembre de 2017, las 500 de la lista TOP500 usan Linux |
| Dispositivos | Routers, cámaras IP, televisores, Android |
| Ciberseguridad | Kali Linux, Security Onion y la mayoría de herramientas de análisis |
Por qué importa en ciberseguridad
Si la mayoría de los servidores son Linux, la mayoría de los incidentes en servidores también. Por ejemplo, en un caso ficticio: el sitio de reservas de un hotel en Guanacaste empieza a redirigir a una página de apuestas, y el hosting solo da acceso SSH. Hay que listar qué cambió anoche en /var/www, buscar con grep la línea inyectada en el index.php y ver con ps qué proceso raro corre. Quien no se mueve en la terminal espera a que otro mire la evidencia, y en un incidente esas horas cuestan.
La terminal, la shell y el prompt
La terminal es la ventana donde escribe (en Ubuntu, Ctrl + Alt + T; en WSL2, la aplicación Ubuntu del menú Inicio). Dentro corre la shell, el programa que interpreta lo que escribe y ejecuta los comandos; la más común es bash (Bourne Again Shell). El prompt es el texto que la shell muestra cuando espera una orden:
ana@ubuntu:~$
usuario@equipo:carpeta_actual$El signo $ indica un usuario normal; # indica root, el administrador. Si ve #, piense dos veces antes de dar Enter. En el curso el prompt se simplifica a $ . Linux distingue mayúsculas de minúsculas: Documentos y documentos son carpetas distintas, y ese detalle explica muchos de los "No such file or directory" del principio.
Cómo leer una sintaxis
Cada comando del curso tiene una ficha con su sintaxis general. Se lee así:
ls [OPCIONES] [ARCHIVO...]| Notación | Significado |
|---|---|
| Corchetes | Es opcional, puede omitirlo |
| MAYÚSCULAS | Usted lo reemplaza por un valor real, como una ruta |
| Tres puntos | Puede repetirlo: varios archivos, por ejemplo |
| Guion y letra | Una opción corta, como -l; varias se combinan: -la |
| Doble guion | Una opción larga, como --all |
Cómo pedir ayuda
Nadie se sabe todas las opciones. Linux trae su propio manual:
$ man ls # manual completo; salga con la tecla q
$ ls --help # resumen rápido de opciones
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).Yo uso --help cuando solo me falta la letra de una opción, y man cuando necesito entender el comando.
Conceptos clave
| Concepto | Qué significa |
|---|---|
| Kernel | El núcleo que controla el hardware y los permisos |
| Distribución | Kernel más shell, comandos y programas, listo para usar |
| Shell | El intérprete de comandos, normalmente bash |
| Terminal | La ventana donde escribe los comandos |
| Prompt | El texto que indica que la shell espera una orden |
| root | El superusuario, que puede hacerlo todo |