Comandos Linux
Introducción a Linux para Ciberseguridad
Section titled “Introducción a Linux para Ciberseguridad”Linux es un sistema operativo (SO), al igual que Windows, macOS, iOS o Android. Un SO gestiona los recursos de hardware de una computadora y permite la comunicación entre aplicaciones y componentes físicos.
A diferencia de otros sistemas operativos, Linux es libre, de código abierto y cuenta con una gran cantidad de distribuciones (“distros”), adaptadas a diferentes necesidades (ejemplo: Ubuntu, Debian, Fedora, Manjaro, Parrot OS, etc.).
En ciberseguridad, Linux es un pilar por su robustez, flexibilidad y seguridad, siendo ampliamente usado en servidores, dispositivos embebidos, mainframes y sistemas móviles como Android.
1. Historia
Section titled “1. Historia”- 1970: Ken Thompson y Dennis Ritchie (trabajaban en AT&T). ellos crean Unix.
- 1977: Surge BSD (Berkeley Software Distribution), pero enfrenta problemas legales por usar código de AT&T.
- 1983: Richard Stallman inicia el Proyecto GNU y crea la GPL (Licencia Pública General).
- 1991: Linus Torvalds (estudiante Filandés) desarrolla el núcleo de Linux como proyecto personal, liberado como software libre.
- Hoy: Linux cuenta con más de 23 millones de líneas de código y más de 600 distribuciones.
Ejemplos de distros populares: Ubuntu, Debian, Fedora, OpenSUSE, Manjaro, Gentoo, Red Hat, Linux Mint, Elementary y Parrot OS (enfocada en ciberseguridad).
2. Filosofía de Linux
Section titled “2. Filosofía de Linux”Linux se basa en la simplicidad, modularidad y apertura. Su enfoque es crear herramientas pequeñas que realizan una tarea bien definida y que pueden combinarse.
Principios clave:
3. Componentes de Linux
Section titled “3. Componentes de Linux”4. Arquitectura de Linux
Section titled “4. Arquitectura de Linux”Linux se organiza en capas:
- Hardware: CPU, RAM, disco, periféricos.
- Kernel: Controla y virtualiza el hardware.
- Shell: Intérprete de comandos (CLI).
- System Utilities: Herramientas y aplicaciones que interactúan con el sistema.
5. Jerarquía del Sistema de Archivos (FHS)
Section titled “5. Jerarquía del Sistema de Archivos (FHS)”Linux organiza los archivos en una estructura en forma de árbol, con / como raíz.
Analogía, imagina Linux como una empresa:
- El kernel es la gerencia (organiza recursos).
- Los daemons son empleados invisibles que mantienen todo funcionando.
- El shell es la recepción, donde das órdenes.
- La filosofía es la cultura de trabajo: simplicidad, eficiencia y cooperación.
6. Qué es comando?
Section titled “6. Qué es comando?”Es un nombre que se coloca en la terminal, que ejecuta varias líneas de código.
7. Variables de entorno
Section titled “7. Variables de entorno”son variables de datos por defecto en la terminal, puedes ver cuáles son con el comando “env”.
“export name=data”: Crear una variable de entorno con nombre “name” y valor “data”. (Al reiniciar el sistema operativo se borra la variable.)
para visualizar puedes usar “echo $name”. También puedes concatenar “name = $name:text” quedaría el texto de la variable name como “data:text”
8. Comandos de Linux
Section titled “8. Comandos de Linux”Y muchos más comandos, y variaciones de los mismos…
9. Permisos y usuarios
Section titled “9. Permisos y usuarios”En Linux, los permisos controlan quién puede leer, escribir o ejecutar un archivo. Cada archivo tiene permisos para:
- Usuario (u) – propietario del archivo
- Grupo (g) – grupo al que pertenece el usuario
- Otros (o) – todos los demás usuarios
Ver permisos
Section titled “Ver permisos”- r → leer (read)
- w → escribir (write)
- x → ejecutar (execute)
→ Ejemplo anterior:
- Usuario: rwx (leer, escribir, ejecutar)
- Grupo: r-x (leer, ejecutar)
- Otros: r– (solo leer)
Cambiar permisos
Section titled “Cambiar permisos”Otra forma:
chmod u+x script.sh # Dar permiso de ejecución al usuariochmod g-w archivo.txt # Quitar permiso de escritura al grupoCambiar propietario
Section titled “Cambiar propietario”10. Sudo
Section titled “10. Sudo”El comando sudo en Linux y sistemas tipo Unix significa “superuser do” (hacer como superusuario). Básicamente, permite ejecutar comandos con privilegios de administrador, incluso sí tú usuario normal no los tiene. Esto es útil porque algunas acciones (como instalar programas, modificar archivos del sistema o cambiar configuraciones importantes) requieren permisos elevados para proteger el sistema de cambios accidentales. Así funciona paso a paso:
1. Ejecutar un comando como administrador
Section titled “1. Ejecutar un comando como administrador”Cuando escribes:
- Te pregunta la contraseña de tú usuario (no la del root) sí no la has usado sudo recientemente.
- Verifica que tú usuario esté en el archivo /etc/sudoers, que define quién puede usar sudo y qué comandos.
- Sí está permitido, ejecuta el comando con permisos de root, es decir, como sí fueras el administrador del sistema.
2. Ejemplo práctico
Section titled “2. Ejemplo práctico”3. Comando interactivo
Section titled “3. Comando interactivo”Sí escribes:
o
- Obtienes un shell de root, es decir, todos los comandos que escribas después se ejecutan con permisos de administrador.
- Esto es más riesgoso porque cualquier error puede afectar gravemente el sistema.
4. Seguridad y tiempo de sesión
Section titled “4. Seguridad y tiempo de sesión”- sudo recuerda tú contraseña durante unos minutos (por defecto 5) para que no tengas que escribirla cada vez.
- Sí tú usuario no está en sudoers, no podrás usarlo.
**Autor:** Fravelz
**Colaborador:** @studentethical (Student Ethical)