Saltar al contenido

chmod 777: qué significa y cuándo usarlo

Se ejecuta en tu navegador: nada de lo que pegas sale de esta página. Cómo lo demostramos

Playground de la calculadora chmod

Examples
Permission bits
Read
Write
Exec
Owner
Group
Other
Enter a value

The matrix, octal and symbolic fields all stay in sync — edit any one and the others follow.

Results update as you type — press Enter to run now.

fig. 29 — chmod-calculator · utilities 777 · rwxrwxrwx · file
Output
Octal777
Symbolicrwxrwxrwx
ls -l-rwxrwxrwx
Commandchmod 777 file

`chmod 777 file` fija el modo `rwxrwxrwx`: cualquier usuario del sistema puede leer, modificar y ejecutar el archivo. Casi nunca es la solución correcta; lo más seguro suele ser 755 o 644.

Qué significa chmod 777

En 777 el primer dígito corresponde al propietario, el segundo al grupo y el tercero a todos los demás. Propietario: lectura, escritura y ejecución; grupo: lectura, escritura y ejecución; otros: lectura, escritura y ejecución.

ls -l lo muestra como -rwxrwxrwx. Cada 7 es 4 + 2 + 1 — lectura más escritura más ejecución — así que ninguna clase queda fuera. En un directorio, los mismos bits permiten a cualquier cuenta listarlo, entrar en él y crear, renombrar o borrar entradas dentro, incluidos archivos que pertenecen a otra persona.

Por qué 777 es un problema de seguridad

Un archivo con escritura para todos puede sustituirlo cualquier proceso local, incluido un servidor web comprometido que corre como www-data o nginx. Si ese archivo es un script que lanza cron o un hook de despliegue, quien pueda escribirlo puede ejecutar código con la cuenta que lo invoca. Un directorio con escritura para todos deja que cualquier usuario deposite archivos en una ruta en la que confía otro programa.

Los espacios compartidos como /tmp tienen escritura para todos a propósito, pero con el modo 1777, no 777: el bit sticky adicional hace que cada usuario solo pueda borrar sus propios archivos. Un directorio 777 a secas no tiene esa protección.

Cuándo se recurre a él y qué hacer en su lugar

777 suele aparecer tras un "permission denied" de una aplicación web o de un volumen de contenedor. La causa real casi siempre es la propiedad: el proceso corre con un usuario distinto del dueño de los archivos. Corrígelo con chown hacia la cuenta del servicio, o metiendo esa cuenta en el grupo del archivo y dando escritura al grupo, en vez de abrir el archivo a todo el mundo.

Para código y directorios que un servidor solo necesita leer, la pareja habitual es 755 para directorios y 644 para archivos. Un chmod -R 777 recursivo además vuelve ejecutable cada archivo; repáralo por tipo con find dir -type d -exec chmod 755 {} + y find dir -type f -exec chmod 644 {} +.

FAQ

Tus preguntas, respondidas.

Toca una pregunta para desplegar la respuesta.

Rara vez, y solo en una máquina desechable de un único usuario. Para un espacio compartido usa 1777, así el bit sticky impide que los usuarios borren archivos ajenos. En un servidor o en una imagen de contenedor, corrige la propiedad.

Sí. Las tres clases reciben el bit de ejecución, así que cualquier usuario puede lanzarlo como programa si es un binario válido o un script con línea shebang. Es un motivo más para no aplicarlo a un árbol entero.

More free, private DevOps tools.

La chmod Calculator es una de las herramientas de OpsCanopy — un dosel creciente de validadores, conversores y probadores basados en el navegador que nunca tocan un servidor.

42 herramientas gratuitas, todas pueden funcionar sin conexión — opscanopy.com funciona sin registro y sin subir nada.

Herramientas relacionadas: el Generador UUID / ULID, el Conversor de mayúsculas y la herramienta Slugify, o el Conversor de CVE Ignore — o explora el directorio de herramientas completo.

Se ofrece tal cual para tu comodidad; comprueba siempre dos veces los cambios de permisos en sistemas de producción. OpsCanopy es gratis y abierto.