Entendiendo los Permisos de Archivos: ¿Qué Significa “Chmod 777”?

Si eres un usuario de Linux o un administrador de sistemas que gestiona un servidor Linux, te encontrarás con el error “No tienes los permisos para subir archivos a la carpeta”. Después de buscar en Google, la solución a menudo es tan fácil como establecer el permiso del archivo en “775” o “777”. En términos técnicos, se te pedirá que “chmod 777 el archivo”. Pero, ¿qué significa “777”? ¿Y por qué debe ser “7” y no “8” o “9”?
En esta publicación, te mostramos cómo entender mejor los permisos de archivos, incluyendo lo que significa chmod 777.
También lee: Cómo renombrar archivos fácilmente en Linux
Entendiendo los Permisos de Archivos
Los sistemas Unix (incluyendo Linux y macOS) tienen un mecanismo de control de archivos que determina quién puede acceder a un archivo o carpeta en particular y qué pueden hacer con él.
Hay dos partes a considerar:
Clases. Esto determina quién puede acceder al archivo. Hay tres designaciones: un Propietario, un Grupo (que todos comparten los mismos permisos) y Otros.
- El Propietario es generalmente el creador del archivo o carpeta. En Linux, cualquier archivo o carpeta que crees en tu directorio de inicio generalmente es de tu propiedad a menos que cambies específicamente la propiedad.
- El Grupo contiene un grupo de usuarios que comparten los mismos permisos y privilegios de usuario.
- Otros significa el público en general.

Permisos. Estos determinan lo que el usuario puede hacer con un archivo. Puedes Leer, Escribir o Ejecutar un archivo, y puedes establecer casi cualquier combinación de estos tres permisos.
- Leer. No puedes modificar el contenido del archivo de ninguna manera. Cuando se aplica a una Carpeta, solo puedes ver los archivos dentro de esa carpeta; no puedes eliminar ni modificar los archivos de ninguna manera ni agregar más archivos a la carpeta.
- Escribir. Puedes modificar el archivo. Si tienes acceso de “escritura” a una carpeta, entonces puedes eliminar y agregar archivos a esa carpeta.
- Ejecutar. Ejecutar se utiliza principalmente cuando necesitas ejecutar el archivo y se usa más comúnmente cuando necesitas ejecutar un script.

Al usar Clases en combinación con Permisos, puedes controlar quién tiene acceso a un archivo y las acciones que pueden realizar.
El propietario del archivo a menudo tendrá los tres permisos disponibles (leer, escribir y ejecutar). Si no puedes subir un archivo a un servidor, a menudo es debido a permisos desajustados.
Explicando el Permiso de Archivo 777
Una vez que tienes una comprensión básica de Clases y Permisos, puedes comenzar a entender números como “777” y “775”.
Cada archivo y carpeta contiene datos de 8 bits que controlan los permisos. En su forma binaria básica, 000 significa que no se otorgan permisos de ninguna forma.
Cuando estableces un permiso de “Leer”, se agrega 4 bits a los datos, haciéndolo “100” (en formato binario) o un “4” en el formato decimal habitual. Establecer un permiso de “Escribir” agregará 2 bits a los datos, haciéndolo “010” y “2” en forma decimal. Por último, establecer un permiso de “Ejecutar” agrega 1 bit a los datos, lo que resultará en “001,” o “1” en forma decimal. En resumen:
- Leer es equivalente a “4.”
- Escribir es equivalente a “2.”
- Ejecutar es equivalente a “1.”
En pocas palabras, establecer permisos es matemáticas básicas. Por ejemplo, para establecer permisos de “Leer y Escribir”, combinamos 4 y 2 para obtener 6. Por supuesto, hay otras permutaciones:
- 0: Sin permiso
- 1: Ejecutar
- 2: Escribir
- 3: Escribir y Ejecutar
- 4: Leer
- 5: Leer y Ejecutar
- 6: Leer y Escribir
- 7: Leer, Escribir y Ejecutar
Un conjunto completo de permisos de archivo asigna el primer dígito al Propietario, el segundo dígito al Grupo y el tercero a Otros. Aquí hay algunos de los permisos comúnmente utilizados:
- 755. Este conjunto de permisos es comúnmente utilizado por servidores web. El propietario tiene todos los permisos para leer, escribir y ejecutar. Todos los demás pueden leer y ejecutar, pero no pueden hacer cambios en el archivo.
- 644. Solo el propietario puede leer y escribir. Todos los demás solo pueden leer. Nadie puede ejecutar este archivo.
- 655. Solo el propietario puede leer y escribir y no puede ejecutar el archivo. Todos los demás pueden leer y ejecutar y no pueden modificar el archivo.
En cuanto a 777, esto significa que cada usuario puede Leer, Escribir y Ejecutar. Debido a que otorga permisos completos, debe usarse con cuidado. Sin embargo, en algunos casos, necesitarás establecer los permisos 777 antes de poder subir cualquier archivo al servidor.
Estableciendo Permisos de Archivos en la Línea de Comandos
En Linux, puedes cambiar fácilmente los permisos de archivo haciendo clic derecho en un archivo o carpeta y seleccionando “Propiedades.” Esto abrirá una pestaña de Permisos donde puedes hacer cambios.
En contraste, puedes cambiar la configuración de permisos en macOS haciendo clic derecho y seleccionando “Obtener Información.” Aquí, puedes expandir la sección “Compartir y Permisos” y hacer tus cambios.

Para hacer modificaciones, selecciona los permisos relevantes de la sección de Privilegios y elige algo más adecuado.

Sin embargo, esta no es la única forma en que puedes cambiar los permisos de archivo. Vamos a explicar esto con más detalle a continuación.
Cambiando Permisos de Archivos Usando chmod 777
Si estás más familiarizado con el Terminal y la Línea de Comandos, también puedes cambiar permisos aquí.
El comando chmod te permite “cambiar el modo” – otra forma de describir los permisos de acceso. Para hacer esto, abre el Terminal y escribe lo siguiente:
chmod777/path/to/fileEn resumen, chmod 777 combina los dos conceptos que hemos presentado a lo largo de este artículo. Significa hacer que el archivo sea legible, escribible y ejecutable por todos los que tengan acceso. Como tal, es un comando poderoso y potencialmente destructivo para el sistema, por lo que se debe tener un cuidado adicional al usarlo.
En Resumen
Los permisos de archivo pueden presentarte un obstáculo si no están configurados correctamente. Esto es intencional, ya que un sistema bloqueado no puede ser comprometido. Sin embargo, si deseas acceder a un archivo en tu sistema o servidor, aprender a cambiar ciertos permisos es una habilidad sólida que debes tener.
En pocas palabras, chmod 777 es el comando que usarás dentro del Terminal para hacer que un archivo o carpeta sea accesible para todos. Debes usarlo en raras ocasiones y volver a un conjunto de permisos más restrictivo una vez que hayas terminado.
Si te preguntas qué más puede hacer el Terminal, consulta nuestra publicación sobre cómo copiar y pegar desde la línea de comandos. ¿Tienes que gestionar permisos de archivos, y te ayudará esta publicación? ¡Déjanos saber en la sección de comentarios a continuación!