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

Cómo usar el comando chmod en Linux: permisos de archivos y carpetas

Actualizado el 8 de mayo de 2026

¿Qué es el comando chmod y por qué es tan importante?

Si alguna vez has intentado editar un archivo en tu servidor y te ha aparecido un error de "Permiso denegado", o has subido una web y las imágenes no cargan, es muy probable que el problema esté relacionado con los permisos de archivos. El comando chmod (change mode) es la herramienta que te permite controlar quién puede leer, escribir o ejecutar un archivo o carpeta en Linux.

Piensa en los permisos como las cerraduras de tu casa. Tú decides quién tiene la llave de la puerta principal (lectura), quién puede entrar a redecorar (escritura) y quién puede pasar al garaje a coger el coche (ejecución). En Linux, cada archivo y carpeta tiene su propio sistema de cerraduras, y chmod es el juego de llaves maestro.

Este comando es fundamental para cualquier persona que gestione un servidor, un hosting o simplemente quiera tener un control fino sobre sus archivos. Entenderlo te ahorrará muchos dolores de cabeza y, sobre todo, hará que tu web sea más segura. Vamos a desglosarlo de una forma muy sencilla.

Los fundamentos: usuarios, grupos y otros

Antes de lanzar comandos como locos, necesitas entender quién es el "quién" en esta historia. Linux organiza el acceso a los archivos en tres categorías de usuarios:

  • Usuario (u): Es el propietario del archivo. Normalmente, el que lo creó. Tú, por ejemplo, si has subido un archivo a tu cuenta de hosting.
  • Grupo (g): Es un conjunto de usuarios que comparten permisos. En un servidor web, a menudo el grupo es "www-data" o algo similar, para que el servidor pueda leer los archivos.
  • Otros (o): Son todos los demás usuarios del sistema que no son el propietario ni pertenecen al grupo. También se les llama "el mundo" o "público".

A cada una de estas categorías se le pueden asignar tres tipos de permisos:

  • Lectura (r): Permite ver el contenido del archivo o listar los archivos de una carpeta. El valor numérico es 4.
  • Escritura (w): Permite modificar el contenido del archivo o crear/eliminar archivos dentro de una carpeta. El valor numérico es 2.
  • Ejecución (x): Permite ejecutar el archivo si es un script o un programa. En el caso de una carpeta, permite "entrar" en ella con el comando cd. El valor numérico es 1.

La clave está en que estos permisos se representan con números que se suman. Por ejemplo, si quieres dar permisos de lectura y escritura, sumas 4 + 2 = 6. Si quieres dar todos los permisos, sumas 4 + 2 + 1 = 7.

La notación numérica: la forma más común de usar chmod

Esta es la forma más utilizada y la que verás en la mayoría de tutoriales, como cuando te dicen que uses chmod 755. La orden se compone de tres dígitos. Cada dígito representa los permisos para una de las categorías que vimos antes, en este orden: Usuario, Grupo y Otros.

  • Primer dígito: Permisos del propietario (u).
  • Segundo dígito: Permisos del grupo (g).
  • Tercer dígito: Permisos para otros (o).

Para calcular el dígito, solo tienes que sumar los valores de los permisos que quieres otorgar.

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

Ejemplo práctico: chmod 755

Vamos con el famoso chmod 755. Es el permiso estándar para carpetas y muchos archivos en un servidor web. Vamos a desglosarlo:

  • 7 (Usuario): Lectura (4) + Escritura (2) + Ejecución (1) = 7. El propietario puede hacer de todo.
  • 5 (Grupo): Lectura (4) + Ejecución (1) = 5. El grupo puede leer y ejecutar, pero no modificar.
  • 5 (Otros): Lectura (4) + Ejecución (1) = 5. El resto del mundo puede leer y ejecutar, pero no modificar.

Este es el permiso perfecto para una carpeta pública de una web. El propietario (tú) puede subir y borrar archivos, mientras que el servidor web (que suele estar en el grupo "otros") puede leer y mostrar los archivos a los visitantes, pero no modificarlos. Esto es crucial para la seguridad.

Cómo cambiar permisos con el comando chmod

La sintaxis básica es muy sencilla:

chmod [opciones] modo archivo_o_carpeta

Aquí tienes los ejemplos más comunes que usarás en tu día a día:

1. Cambiar permisos de un archivo

Para dar permisos de lectura y escritura solo al propietario, y solo lectura al grupo y a otros (muy útil para archivos de configuración):

chmod 644 archivo.conf

Para dar todos los permisos al propietario, y solo lectura y ejecución al grupo y a otros (el clásico para scripts):

chmod 755 script.sh

Para dar todos los permisos a todos (¡úsalo con muchísimo cuidado!):

chmod 777 archivo.txt

[WARNING] El permiso 777 es peligroso. Significa que cualquier usuario del sistema puede leer, escribir y ejecutar el archivo. Nunca uses chmod 777 en archivos de configuración o en la raíz de tu web, ya que un atacante podría modificarlos. Es una de las causas más comunes de webs hackeadas.

2. Cambiar permisos de una carpeta

El comando funciona igual para carpetas. Si quieres que una carpeta sea accesible para el servidor web:

chmod 755 /ruta/a/mi/carpeta

3. Cambiar permisos de forma recursiva

Este es uno de los usos más útiles. Te permite cambiar los permisos de una carpeta y todo su contenido (subcarpetas y archivos) de una sola vez. La opción es -R (recursivo).

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

[TIP] Si trabajas con un panel de control como Syspanel (accesible a través del puerto 2106), es probable que tengas una interfaz gráfica para hacer esto. Sin embargo, saber usar el comando chmod por terminal te dará un control mucho más preciso y rápido, especialmente si tienes cientos de archivos.

La notación simbólica: otra forma de usar chmod

Además de los números, existe una forma más "humana" de usar chmod con letras y símbolos. Es muy útil para hacer cambios rápidos sin tener que calcular números.

La sintaxis es: chmod [quién][operador][permiso] archivo

  • Quién: u (usuario), g (grupo), o (otros), a (todos).
  • Operador: + (añade permiso), - (quita permiso), = (establece el permiso exacto).
  • Permiso: r (lectura), w (escritura), x (ejecución).

Ejemplos de notación simbólica

  • Para añadir permiso de ejecución al propietario: chmod u+x mi_script.sh
  • Para quitar el permiso de escritura al grupo: chmod g-w mi_archivo.txt
  • Para dar permisos de lectura y ejecución a todos: chmod a+rx mi_archivo
  • Para establecer que el grupo solo tenga lectura: chmod g=r mi_archivo

Esta notación es genial para cuando quieres hacer un cambio puntual sin tener que recalcular todo el valor numérico.

Errores comunes y cómo solucionarlos

Aquí tienes una pequeña guía de problemas típicos que verás con los permisos:

"Permiso denegado" al subir archivos

Si tu cliente FTP te da error al subir archivos a una carpeta, es que no tienes permisos de escritura en ella. Para solucionarlo, necesitas darle al propietario (tu usuario) permiso de escritura:

chmod 755 /ruta/a/la/carpeta

O, si es un archivo concreto, chmod 644 /ruta/al/archivo.

"Error 500 Internal Server Error" en tu web

Esto suele pasar cuando un archivo (como un .htaccess o un script PHP) tiene permisos demasiado restrictivos o, por el contrario, demasiado abiertos. La solución más común es poner los archivos a 644 y las carpetas a 755.

"No puedo entrar a una carpeta"

Si no puedes hacer cd a una carpeta, te falta el permiso de ejecución (x) en esa carpeta. Asegúrate de que tiene al menos chmod 711 para que el propietario pueda entrar.

Preguntas Frecuentes (FAQ) sobre chmod

¿Qué significan exactamente los números 755 y 644?

Son la forma abreviada de representar los permisos. 755 significa que el propietario tiene todos los permisos (7) y el grupo y otros solo lectura y ejecución (5). 644 significa que el propietario tiene lectura y escritura (6) y el grupo y otros solo lectura (4).

¿Cuándo debo usar chmod 777?

Casi nunca. Es un riesgo de seguridad. Solo deberías usarlo temporalmente en entornos de desarrollo locales o en carpetas de caché muy específicas, y siempre revirtiendo los permisos después. En un servidor de producción, es una pésima idea.

¿Cómo sé qué permisos tiene un archivo?

Usa el comando ls -l en la terminal. Verás una línea como esta: -rw-r--r--. El primer carácter indica si es un archivo (-) o una carpeta (d). Los siguientes tres grupos de tres caracteres (rw-, r--, r--) representan los permisos del usuario, grupo y otros, respectivamente.

¿Qué hago si no soy el propietario del archivo?

No podrás cambiar los permisos. Solo el propietario o el usuario root (el superadministrador del sistema) pueden usar chmod. Si no eres el propietario, puedes intentar usar sudo chmod si tienes privilegios de administrador, o contactar con tu proveedor de hosting.

¿Puedo usar chmod en Windows?

No de forma nativa. chmod es un comando de Linux y Unix. Si usas Windows, puedes usar el Subsistema de Windows para Linux (WSL) o un cliente FTP que permita cambiar permisos desde su interfaz gráfica.

Resumen y buenas prácticas

Dominar el comando chmod es un paso esencial para convertirte en un buen administrador de sistemas o para gestionar tu hosting con soltura. Te permite controlar la seguridad de tus archivos y solucionar problemas de acceso muy comunes.

Para terminar, te dejo con una chuleta rápida:

  • Carpetas: 755 es el estándar de oro.
  • Archivos normales (PHP, HTML, CSS, imágenes): 644 es lo más común y seguro.
  • Scripts ejecutables: 755 está bien.
  • Archivos de configuración sensibles (como wp-config.php en WordPress): 600 o 640 para que solo el propietario (y quizás el grupo) pueda leerlos.
  • Regla de oro: Nunca des más permisos de los necesarios. Si algo funciona con 644, no lo pongas a 777.

[TIP] Si usas el panel Syspanel en el puerto 2106, es posible que tengas herramientas gráficas para gestionar estos permisos. Sin embargo, te recomiendo encarecidamente que practiques con la terminal, ya que te dará una comprensión mucho más profunda de cómo funciona tu servidor y te permitirá automatizar tareas con scripts.

Ya tienes las herramientas para dejar de tener miedo a los permisos de Linux. ¡Practica en un entorno de pruebas y verás lo fácil que es!

¿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