¡Hola! Continuemos con tu formación. En la lección anterior, establecimos las bases para moverte y gestionar archivos en la terminal de Linux. Ahora que sabes cómo crear y organizar tu espacio de trabajo, es hora de abordar un concepto absolutamente crítico para un pentester: el control de acceso.
En esta leción, aprenderás a configurar quién puede leer, escribir o ejecutar archivos y directorios. Dominar los comandos chmod y chown no es solo una tarea administrativa; es una habilidad de hacking fundamental. Las configuraciones de permisos incorrectas son una de las vulnerabilidades más comunes y una puerta de entrada para escalar privilegios en un sistema. Entender este mecanismo te permitirá tanto identificar estas debilidades en un objetivo como asegurar los archivos y herramientas que despliegues en un sistema comprometido.
El Modelo de Seguridad de Linux: Propietarios y Permisos
Linux es, por diseño, un sistema operativo multiusuario. Para evitar que un usuario pueda acceder o modificar los archivos de otro, implementa un modelo de seguridad basado en dos conceptos clave: la propiedad y los permisos.
- Propiedad (Ownership): Cada archivo y directorio pertenece a un usuario (el propietario) y a un grupo.
- Permisos (Permissions): Se definen tres niveles de acceso para cada archivo:
- Lo que puede hacer el propietario (
user). - Lo que pueden hacer los miembros del grupo (
group). - Lo que pueden hacer todos los demás (
others).
- Lo que puede hacer el propietario (
Para cada uno de estos niveles, se pueden conceder tres tipos de permisos:
- Lectura (
r- read): Ver el contenido de un archivo o listar el contenido de un directorio. - Escritura (
w- write): Modificar un archivo, o crear/eliminar/renombrar archivos dentro de un directorio. - Ejecución (
x- execute): Ejecutar un archivo (como un script o programa) o acceder a un directorio (usandocd).
Esta "chuleta" visual resume muy bien estos conceptos. Presta especial atención a las secciones "Basic Permissions" y "Types & Ownership".

Para profundizar en estos conceptos fundamentales, te pido que leas las primeras secciones del siguiente artículo. Se explica de forma muy clara cómo se estructura el sistema de permisos.
Permisos en Linux explicados fácil: guía completa de chmod, chown y sudo
Este artículo de Floopware te guiará a través de los fundamentos de los permisos en Linux de una manera muy directa.
Concéntrate en las secciones desde el inicio hasta entender los 3 niveles de usuarios. Luego, estudia detenidamente la sección "Cómo ver permisos en Linux" para aprender a interpretar la salida del comando ls -l, que es algo que usarás constantemente.
Modificando Permisos con chmod
El comando chmod (change mode) es la herramienta que utilizarás para cambiar los permisos de un archivo o directorio. Puedes usarlo de dos maneras: modo simbólico y modo numérico.
1. Modo Simbólico: Es más intuitivo. Usas letras para especificar a quién (u, g, o, a para todos), qué operación hacer (+ para añadir, - para quitar, = para establecer) y qué permiso (r, w, x).
chmod u+x mi_script.sh: Añade permiso de ejecución para el usuario.chmod g-w archivo_confidencial.txt: Quita el permiso de escritura para el grupo.chmod o=r archivo_publico.txt: Establece los permisos para "otros" a solo lectura.
2. Modo Numérico (Octal): Es más rápido y muy común en guías y scripts. A cada permiso se le asigna un valor numérico:
r(lectura) = 4w(escritura) = 2x(ejecución) = 1
Sumas los valores para cada nivel (propietario, grupo, otros) para obtener un número de 3 dígitos.

Por ejemplo:
chmod 755 mi_directorio:- Propietario: 7 (4+2+1) ->
rwx - Grupo: 5 (4+1) ->
r-x - Otros: 5 (4+1) ->
r-x
(Permisos típicos para directorios y scripts ejecutables).
- Propietario: 7 (4+2+1) ->
chmod 644 mi_archivo.txt:- Propietario: 6 (4+2) ->
rw- - Grupo: 4 ->
r-- - Otros: 4 ->
r--
(Permisos típicos para archivos de texto normales).
- Propietario: 6 (4+2) ->
Ahora, vuelve al artículo anterior para ver en detalle cómo funciona chmod.
Permisos en Linux explicados fácil: guía completa de chmod, chown y sudo
Continuamos con el mismo recurso para aprender a aplicar los conceptos.
Lee la sección "Qué es chmod", prestando atención a los ejemplos de ambos modos, simbólico y numérico.
Cambiando la Propiedad con chown
Mientras que chmod ajusta qué se puede hacer con un archivo, chown (change owner) cambia quién es el dueño. Esto es crucial cuando necesitas transferir el control de un archivo a otro usuario o servicio (por ejemplo, al usuario www-data para que un servidor web pueda acceder a él).
La sintaxis más común y recomendada es:chown usuario:grupo nombre_del_archivo
Por ejemplo, para que el archivo config.php pertenezca al usuario www-data y al grupo www-data:sudo chown www-data:www-data config.php
Nota el uso de sudo. Como estás cambiando la propiedad de un archivo, a menudo necesitarás privilegios de superusuario para hacerlo, algo que exploraremos más adelante.
Para entender mejor chown, vamos a la última lectura de esta lección.
Permisos en Linux explicados fácil: guía completa de chmod, chown y sudo
Finalizaremos con los conceptos de propiedad y algunos consejos de seguridad.
Lee la sección "Qué es chown" para entender su funcionamiento. Después, es muy importante que leas la sección sobre el error de usar chmod 777. Como pentester, buscar archivos con permisos 777 es una de las primeras cosas que harás en un sistema, ya que indica una configuración de seguridad muy pobre.
Demostración Práctica
La teoría es importante, pero ver estos comandos en acción es la mejor manera de consolidar tu conocimiento. El siguiente video muestra un escenario práctico donde se gestionan los permisos para diferentes usuarios y grupos.
Permisos por usuario y grupos en Ubuntu 22.04 | Curso GNU/Linux | N° 12
Este video del canal Software Lion demuestra de manera práctica cómo funcionan los permisos en un escenario con múltiples usuarios.
Primero, mira cómo se interpretan los permisos con ls -l en esta sección. A continuación, observa cómo se usa chown para cambiar el propietario y el grupo de un archivo en este ejemplo. Finalmente, presta mucha atención a la demostración de chmod con notación numérica para dar permisos de escritura al grupo, y cómo se comprueba el resultado.
✏️ Ejercicio Práctico
Pongamos en práctica lo aprendido. Vas a simular dos situaciones muy comunes en pentesting: preparar un script de explotación y restringir el acceso a un archivo con información sensible.
Abre tu terminal y sigue los pasos:
-
Preparar un script:
- Crea un archivo vacío llamado
exploit.sh:touch exploit.sh - Mira sus permisos por defecto:
ls -l exploit.sh. Notarás que no tiene permiso de ejecución (x). - Intenta "ejecutarlo":
./exploit.sh. Recibirás un error de "Permission denied". - Ahora, dale permisos de ejecución solo a tu usuario. Usa el modo numérico. El permiso
rwxpara ti (7) y ningún permiso para los demás (00) es una buena práctica.chmod 700 exploit.sh - Verifica los permisos de nuevo con
ls -l exploit.sh. Verás que ahora aparece laxy los permisos sonrwx------.
- Crea un archivo vacío llamado
-
Asegurar un archivo sensible:
- Imagina que has encontrado un archivo con contraseñas,
pass.txt, que es legible por todos. Simulémoslo:
Verás que tiene permisosecho "admin:password123" > pass.txt sudo chmod 644 pass.txt ls -l pass.txtrw-r--r--. Cualquier usuario en el sistema podría leerlo. - Tu objetivo es restringir el acceso para que solo el propietario (en este caso, tú) pueda leerlo y escribirlo.
chmod 600 pass.txt - Verifica de nuevo con
ls -l pass.txt. Los permisos ahora deberían serrw-------, mucho más seguros.
- Imagina que has encontrado un archivo con contraseñas,
-
Cambiar propiedad (simulación):
- Ahora, imagina que necesitas que este archivo pertenezca al administrador del sistema (
root).
Introduce tu contraseña si te la pide.sudo chown root:root pass.txt - Verifica por última vez con
ls -l pass.txt. Verás que el propietario y el grupo ahora sonroot. Si intentaras editarlo (nano pass.txt), te daría un error de permisos, porque ya no eres el dueño.
- Ahora, imagina que necesitas que este archivo pertenezca al administrador del sistema (
Conclusión
¡Excelente trabajo! Hoy has dominado una de las piedras angulares de la seguridad en Linux. Saber manipular la propiedad y los permisos de los archivos es indispensable para moverte con sigilo y eficacia en un sistema objetivo.
Puntos clave:
- Linux controla el acceso mediante propietarios (usuario, grupo) y permisos (
r,w,x). - El comando
ls -les tu herramienta para inspeccionar los permisos y la propiedad actuales. chmodmodifica los permisos, ya sea en modo simbólico (ej.u+x) o numérico (ej.755).chowncambia el propietario y el grupo de un archivo (ej.chown user:group file).- Desde la perspectiva de un pentester, los permisos mal configurados (como
777o archivos sensibles legibles por todos) son vulnerabilidades que debes buscar activamente.
En la próxima lección, "Filtrar y buscar información en archivos usando grep, pipes y redirecciones", construiremos sobre lo que has aprendido. Ahora que sabes cómo navegar y controlar archivos, te enseñaré a buscar eficientemente información valiosa dentro de ellos, como contraseñas, claves de API o datos de configuración, una tarea esencial en la fase de reconocimiento y post-explotación.