Diccionario

Permisos de archivo

Las reglas que deciden quién puede leer, modificar o ejecutar cada archivo y carpeta del sistema.

En Linux y macOS cada archivo tiene permisos de lectura (r), escritura (w) y ejecución (x) para su dueño, su grupo y el resto. ls -l los muestra, por ejemplo -rwxr-xr--.

chmod los cambia: chmod +x script.sh permite ejecutar un script. Windows usa un sistema distinto de listas de control de acceso, que se ve en Propiedades → Seguridad.

Un ejemplo

Un script recién descargado no se ejecuta con ./script.sh hasta que le das permiso con chmod +x.

Por qué importa

En Linux y macOS, cada archivo y carpeta tiene un propietario, un grupo y unos permisos que definen quién puede leer (r), escribir (w) o ejecutar (x) para tres categorías: el propietario, el grupo y el resto de usuarios. Es una pieza central de la seguridad del sistema: evita que un usuario modifique archivos ajenos o que un programa comprometido toque lo que no debe.

Te los encuentras enseguida: un script que no se ejecuta por falta de permiso de ejecución, un servidor web que no puede leer tus archivos, el error «Permission denied» o una clave SSH que se rechaza por tener permisos demasiado abiertos. Con ls -l los ves como -rwxr-xr--, y con chmod los cambias, por ejemplo chmod +x script.sh para hacerlo ejecutable o chmod 644 archivo en notación numérica. Con chown cambias el propietario.

Confusiones frecuentes

La notación numérica desconcierta al principio: cada permiso suma un valor (lectura 4, escritura 2, ejecución 1) y se escribe un dígito por categoría, de modo que 755 significa todo para el propietario y lectura y ejecución para los demás, y 644 lectura y escritura para el propietario y solo lectura para el resto. Un error de principiante peligroso es resolver cualquier fallo con chmod 777, que da permisos totales a todo el mundo y abre problemas de seguridad. En Windows el sistema es distinto, con listas de control de acceso (ACL), por lo que chmod no aplica allí.

Preguntas frecuentes

¿Qué significa 755?

El propietario puede leer, escribir y ejecutar (7); el grupo y los demás, solo leer y ejecutar (5). Es habitual en programas y carpetas.

¿Por qué me sale «Permission denied»?

Porque tu usuario no tiene el permiso necesario sobre ese archivo o carpeta. Revisa con ls -l y ajusta con chmod o chown; usa sudo solo si de verdad se requiere.