🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo asignar permisos de archivos y carpetas en Linux

Actualizado el 24 de abril de 2026

¿Qué son los permisos de archivos en Linux y por qué te importan?

Si alguna vez has intentado editar un archivo en tu servidor y el sistema te ha dicho "Permiso denegado", ya has vivido la realidad de los permisos linux. No es un capricho del sistema: es una de las capas de seguridad linux más importantes que existen.

Imagina que tu servidor es un edificio de oficinas. Los permisos de archivos son las llaves que deciden quién puede entrar a cada sala, quién puede leer los documentos que hay dentro y quién puede modificarlos o tirarlos a la basura. Sin un buen sistema de llaves, cualquiera podría entrar a la sala de servidores y causar un desastre.

En este artículo, te voy a explicar de forma clara y práctica cómo funcionan los permisos linux, cómo usar los comandos chmod y chown, y cómo aplicarlos en tu día a día para mantener tu servidor seguro y funcionando correctamente.

Los tres pilares: propietario, grupo y otros

Antes de lanzarnos a los comandos, necesitas entender quién es quién en el sistema de archivos de Linux.

El propietario (u - user)

Es el usuario que creó el archivo o carpeta. Normalmente, el propietario tiene control total sobre ese elemento. Piensa en él como el dueño del documento.

El grupo (g - group)

Los archivos pertenecen a un grupo concreto. Varios usuarios pueden ser miembros del mismo grupo, y todos ellos comparten los permisos asignados a ese grupo. Es como un equipo de trabajo que tiene acceso a ciertos documentos compartidos.

Otros (o - others)

Son todos los demás usuarios del sistema que no son el propietario ni forman parte del grupo. En términos de seguridad, es aquí donde debes tener más cuidado, porque "otros" incluye a cualquier persona que pueda acceder al sistema.

Los tres tipos de permisos: leer, escribir y ejecutar

Cada archivo o carpeta tiene tres tipos de permisos, representados por letras:

  • r (read - leer): Permite ver el contenido del archivo o listar los archivos de una carpeta.
  • w (write - escribir): Permite modificar el contenido del archivo o crear, eliminar y renombrar archivos dentro de una carpeta.
  • x (execute - ejecutar): Permite ejecutar el archivo si es un programa o script. En el caso de las carpetas, permite entrar en ellas.

¿Cómo se ven estos permisos?

Cuando ejecutas el comando ls -l en tu terminal, verás una salida similar a esta:

-rw-r--r-- 1 usuario grupo 1234 oct 12 10:30 archivo.txt

Esa primera parte (-rw-r--r--) es la representación de los permisos. El primer carácter indica el tipo de archivo (- para archivo normal, d para directorio/carpeta). Los siguientes nueve caracteres se agrupan en tres tríos:

  • Los tres primeros (rw-): Permisos del propietario.
  • Los tres siguientes (r--): Permisos del grupo.
  • Los tres últimos (r--): Permisos de otros.

En este ejemplo, el propietario puede leer y escribir, pero no ejecutar. El grupo y otros solo pueden leer.

Permisos en formato numérico: la forma más rápida

Aunque las letras son fáciles de entender, la mayoría de los administradores usan números para asignar permisos. Es más rápido y compacto.

Cada permiso tiene un valor numérico:

  • r (lectura) = 4
  • w (escritura) = 2
  • x (ejecución) = 1

Para cada grupo (propietario, grupo, otros), sumas los valores de los permisos que quieres otorgar.

Por ejemplo:

  • Permisos rwx = 4 + 2 + 1 = 7
  • Permisos rw- = 4 + 2 + 0 = 6
  • Permisos r-- = 4 + 0 + 0 = 4

Así, un archivo con permisos 755 significa:

  • Propietario: 7 (rwx) - puede leer, escribir y ejecutar.
  • Grupo: 5 (r-x) - puede leer y ejecutar, pero no escribir.
  • Otros: 5 (r-x) - puede leer y ejecutar, pero no escribir.

Tabla de referencia rápida

NúmeroPermisosDescripción
7rwxLectura, escritura y ejecución
6rw-Lectura y escritura
5r-xLectura y ejecución
4r--Solo lectura
3-wxEscritura y ejecución
2-w-Solo escritura
1--xSolo ejecución
0---Sin permisos

El comando chmod: tu herramienta principal

El comando chmod (change mode) es el que usas para cambiar los permisos de un archivo o carpeta. Hay dos formas de usarlo: con números (la más común) o con letras.

Usando chmod con números

La sintaxis básica es:

chmod [permisos] [archivo o carpeta]

Por ejemplo, para dar permisos 755 a un archivo llamado script.sh:

chmod 755 script.sh

Usando chmod con letras

También puedes usar letras para ser más específico. La sintaxis es:

chmod [quién][operador][permiso] [archivo]

Donde:

  • Quién: u (propietario), g (grupo), o (otros), a (todos).
  • Operador: + (añadir), - (quitar), = (asignar exactamente).
  • Permiso: r, w, x.

Ejemplos prácticos:

  • chmod u+x script.sh - Añade permiso de ejecución al propietario.
  • chmod go-w archivo.txt - Quita el permiso de escritura al grupo y a otros.
  • chmod a=r archivo.txt - Todos solo pueden leer (sin importar los permisos anteriores).

Recursividad: aplicando permisos a carpetas enteras

Cuando trabajas con carpetas, a menudo necesitas aplicar permisos a todos los archivos y subcarpetas dentro de ella. Para eso usas la opción -R (recursivo):

chmod -R 755 /ruta/a/mi/carpeta

[WARNING] Ten mucho cuidado con chmod -R. Si lo aplicas a una carpeta importante del sistema con permisos incorrectos, podrías dejar tu servidor inaccesible. Siempre verifica la ruta antes de ejecutar el comando.

El comando chown: cambiando el propietario

chown (change owner) te permite cambiar el propietario y el grupo de un archivo o carpeta. Esto es esencial cuando quieres que otro usuario controle un archivo, o cuando un proceso necesita acceso a ciertos archivos.

Sintaxis básica de chown

chown [nuevo_propietario]:[nuevo_grupo] [archivo]

Ejemplos:

  • chown maria archivo.txt - Cambia el propietario a "maria".
  • chown maria:desarrollo archivo.txt - Cambia el propietario a "maria" y el grupo a "desarrollo".
  • chown :desarrollo archivo.txt - Solo cambia el grupo, manteniendo el propietario actual.

Al igual que con chmod, puedes usar -R para aplicar el cambio recursivamente:

chown -R www-data:www-data /var/www/miweb

Este último comando es muy común en servidores web, donde el usuario www-data (el usuario de Apache/Nginx) necesita ser el propietario de los archivos para poder servirlos correctamente.

Casos prácticos: permisos de archivos en el mundo real

1. Permisos típicos para un sitio web

Si tienes una web en un servidor, lo más habitual es que los archivos tengan permisos 644 (propietario puede escribir, el resto solo leer) y las carpetas 755 (propietario puede escribir y ejecutar, el resto solo leer y ejecutar).

chmod -R 755 /var/www/miweb
find /var/www/miweb -type f -exec chmod 644 {} \;

El segundo comando busca todos los archivos (no carpetas) y les asigna 644.

2. Archivos de configuración sensibles

Para archivos que contienen contraseñas o información crítica, como wp-config.php en WordPress, es recomendable usar 600 (solo el propietario puede leer y escribir):

chmod 600 wp-config.php

3. Scripts que necesitan ejecutarse

Si tienes un script que necesitas ejecutar, asegúrate de que tenga permiso de ejecución:

chmod 755 mi_script.sh
./mi_script.sh

4. Carpetas de subida de archivos

Si tu aplicación web permite a los usuarios subir archivos, la carpeta de subida necesita permisos de escritura para el usuario del servidor web:

chmod 775 /var/www/miweb/uploads

Aquí el propietario y el grupo pueden escribir, y "otros" solo pueden leer y ejecutar.

Errores comunes y cómo evitarlos

Usar 777 en todo

[WARNING] Otorgar permisos 777 (todos pueden leer, escribir y ejecutar) a cualquier archivo o carpeta es una mala práctica de seguridad linux. Es como dejar la puerta de tu casa abierta de par en par. Cualquier usuario del sistema podría modificar o eliminar tus archivos.

Si un archivo necesita ser escrito por el servidor web, lo correcto es cambiar el propietario o el grupo, no dar permisos a "otros".

No entender el contexto del usuario del servidor

En sistemas con paneles de control como Syspanel (que se accede por el puerto 2106), los archivos suelen tener un propietario específico. Si cambias los permisos sin tener en cuenta quién ejecuta los procesos, puedes romper el sitio web.

[INFO] En Syspanel, los sitios web suelen ejecutarse bajo un usuario específico. Si tienes problemas de permisos, asegúrate de que los archivos pertenecen al usuario correcto o al grupo www-data.

Olvidar la recursividad

Muchas veces cambias los permisos de una carpeta, pero los archivos dentro de ella mantienen los antiguos. Recuerda usar -R cuando necesites aplicar cambios a todo el árbol de directorios.

Comprobando permisos: el comando ls -l

Para verificar los permisos actuales de un archivo o carpeta, usa:

ls -l archivo.txt

Para ver los permisos de todos los archivos en una carpeta:

ls -l /ruta/de/la/carpeta

Y si quieres ver también los archivos ocultos:

ls -la /ruta/de/la/carpeta

Preguntas frecuentes sobre permisos en Linux

¿Qué significan los permisos 644 y 755?

644 significa que el propietario puede leer y escribir, mientras que el grupo y otros solo pueden leer. Es el estándar para archivos normales.

755 significa que el propietario puede leer, escribir y ejecutar, mientras que el grupo y otros solo pueden leer y ejecutar. Es el estándar para carpetas y ejecutables.

¿Cómo puedo saber qué usuario soy en el sistema?

Usa el comando whoami para saber tu usuario actual, y id para ver tu grupo y otros detalles.

¿Qué hago si no puedo acceder a una carpeta?

Primero, comprueba los permisos con ls -ld nombre_carpeta. Si no tienes permiso de ejecución (x), no podrás entrar. Usa chmod para ajustar los permisos si eres el propietario o tienes privilegios de administrador.

¿Los permisos se aplican igual en todas las distribuciones de Linux?

Sí, el sistema de permisos es estándar en todas las distribuciones Linux. Lo que puede variar es el usuario por defecto para el servidor web (en algunas es www-data, en otras nginx, apache, etc.).

¿Cómo afectan los permisos a mi sitio web?

Si los permisos son demasiado restrictivos, el servidor web no podrá leer los archivos y mostrará un error 403 o 500. Si son demasiado permisivos, cualquier usuario podría modificar tu código, lo que es un riesgo de seguridad grave.

Consejos finales para una buena gestión de permisos

  1. Principio de mínimo privilegio: Otorga solo los permisos necesarios. No des más de lo que se necesita.
  2. Usa grupos: En lugar de dar permisos a "otros", crea grupos y asigna usuarios a ellos.
  3. Documenta tus cambios: Si trabajas en equipo, anota qué permisos has cambiado y por qué.
  4. Haz copias de seguridad: Antes de hacer cambios masivos de permisos, asegúrate de tener una copia de seguridad.
  5. Prueba siempre: Después de cambiar permisos, verifica que tu web o aplicación sigue funcionando correctamente.

Resumen rápido de comandos

ComandoFunción
chmod 755 archivoAsigna permisos 755 al archivo
chmod -R 755 carpetaAsigna permisos 755 a toda la carpeta
chmod u+x archivoAñade ejecución al propietario
chmod go-w archivoQuita escritura a grupo y otros
chown usuario:grupo archivoCambia propietario y grupo
chown -R usuario:grupo carpetaCambia propietario y grupo recursivamente
ls -lMuestra los permisos de los archivos

Dominar los permisos linux es una habilidad esencial para cualquier persona que gestione un servidor. No solo protege tus datos, sino que también evita dolores de cabeza con tu sitio web o aplicaciones. Con chmod y chown bajo tu control, podrás configurar cualquier sistema de forma segura y eficiente.

Recuerda: la seguridad linux empieza por algo tan simple como saber quién puede tocar qué. Y ahora, ya sabes cómo hacerlo. Si tienes dudas, practica en un entorno de pruebas antes de tocar tu servidor de producción. Y si usas un panel como Syspanel, recuerda que está en el puerto 2106 y que muchos de estos permisos se pueden gestionar desde su interfaz, aunque entender los comandos te dará mucho más control.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel