Comprensión de los permisos de archivos: ¿Qué significa “Chmod 777”?

Si es un usuario de Linux o un administrador de sistemas que administra un servidor Linux, se encontrará con el error "No tiene permisos para cargar archivos en la carpeta". Después de buscar en Google, la solución suele ser tan fácil como establecer el permiso del archivo en "775" o "777". En términos técnicos, se le pedirá que "modifique 777 el archivo". Pero ¿qué significa “777”? ¿Y por qué debe ser “7” y no “8” o “9”?
En esta publicación, le mostramos cómo comprender un poco mejor los permisos de archivos, incluido lo que significa chmod 777.
Lea también: Cómo cambiar fácilmente el nombre de archivos en Linux
Comprender los permisos de archivos
Los sistemas Unix (incluidos 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é puede hacer con él.
Hay dos partes a considerar:
Clases. Esto determina quién puede acceder al archivo. Hay tres designaciones: Propietario, Grupo (que comparten los mismos permisos) y Otros.
- El propietario suele ser el creador del archivo o carpeta. En Linux, cualquier archivo o carpeta que cree en su directorio de inicio generalmente es de su propiedad, a menos que cambie 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. Puede leer, escribir o ejecutar un archivo y puede configurar casi cualquier combinación de estos tres permisos.
- Leer. No puede modificar el contenido del archivo de ninguna manera. Cuando se aplica a una carpeta, sólo puede ver los archivos dentro de esa carpeta; No puede eliminar ni modificar los archivos de ninguna manera ni agregar más archivos a la carpeta.
- Escribir. Puedes modificar el archivo. Si tiene acceso de "escritura" a una carpeta, puede eliminar y agregar archivos a esa carpeta.
- Ejecutar. Ejecutar se usa principalmente cuando necesita ejecutar el archivo y se usa con mayor frecuencia cuando necesita ejecutar un script.

Al utilizar Clases en combinación con Permisos, puede controlar quién tiene acceso a un archivo y las acciones que puede realizar.
El propietario del archivo a menudo tendrá los tres permisos disponibles (lectura, escritura y ejecución). Si no puede cargar un archivo en un servidor, a menudo se debe a que los permisos no coinciden.
Explicando el permiso de archivo 777
Una vez que tenga una comprensión básica de Clases y Permisos, podrá comenzar a comprender 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 concede ningún permiso de ningún tipo.
Cuando configura un permiso de "Lectura", agrega 4 bits a los datos, convirtiéndolos en "100" (en formato binario) o un "4" en el formato decimal habitual. Configurar un permiso de "Escritura" agregará 2 bits a los datos, convirtiéndolos en "010" y "2" en forma decimal. Por último, establecer un permiso de "Ejecución" agrega 1 bit a los datos, lo que dará como resultado "001" o "1" en forma decimal. En breve:
- Leer equivale a “4”.
- Escribir equivale a “2”.
- Ejecutar equivale a “1”.
En pocas palabras, establecer permisos es una cuestión matemática básica. Por ejemplo, para establecer permisos de “Lectura y Escritura”, combinamos 4 y 2 para obtener 6. Por supuesto, existen otras permutaciones:
- 0: Sin autorización
- 1: Ejecutar
- 2: Escribir
- 3: Escribir y ejecutar
- 4: Leer
- 5: Leer y ejecutar
- 6: Lee y escribe
- 7: Leer, escribir y ejecutar
Un conjunto completo de permisos de archivos asigna el primer dígito al Propietario, el segundo dígito al Grupo y el tercero a Otros. Estos son algunos de los permisos comúnmente utilizados:
- 755. Este conjunto de permisos lo utilizan habitualmente los servidores web. El propietario tiene todos los permisos de lectura, escritura y ejecución. Todos los demás pueden leer y ejecutar, pero no pueden realizar cambios en el archivo.
- 644. Sólo el propietario sabe leer y escribir. Todos los demás sólo pueden leer. Nadie puede ejecutar este archivo.
- 655. Sólo 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 al 777, esto significa que todos los usuarios pueden leer, escribir y ejecutar. Dado que otorga permisos completos, se debe utilizar con cuidado. Sin embargo, en algunos casos, necesitarás configurar los permisos 777 antes de poder cargar cualquier archivo al servidor.
Configuración de permisos de archivos en la línea de comandos
En Linux, puede cambiar fácilmente los permisos de los archivos haciendo clic derecho en un archivo o carpeta y seleccionando "Propiedades". Esto abrirá una pestaña de Permiso donde podrá realizar cambios.
Por el contrario, puedes cambiar la configuración de permisos en macOS haciendo clic derecho y seleccionando "Obtener información". Aquí puede expandir la sección "Compartir y permisos" y realizar sus cambios.

Para realizar modificaciones, seleccione los permisos relevantes en la sección Privilegio y elija algo más adecuado.

Sin embargo, esta no es la única forma de cambiar los permisos de los archivos. Expliquemos esto con más detalle a continuación.
Cambiar permisos de archivos usando chmod 777
Si está más familiarizado con la Terminal y la Línea de comandos, también puede cambiar los permisos aquí.
El chmod
El comando le permite "cambiar el modo", otra forma de describir los permisos de acceso. Para hacer esto, abra la Terminal y escriba lo siguiente:
En breve, 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 todas las personas con acceso. Como tal, es un potente y potencial rompedor del sistema, por lo que se debe tener especial cuidado con él.
En resumen
Los permisos de archivos pueden presentarle un obstáculo si no están configurados correctamente. Esto es así por diseño, ya que un sistema bloqueado no puede verse comprometido. Sin embargo, si desea acceder a un archivo en su sistema o servidor, aprender a cambiar ciertos permisos es una habilidad sólida.
En pocas palabras, chmod 777 es el comando que usará dentro de la Terminal para hacer que un archivo o carpeta sea accesible para todos. Deberías usarlo en raras ocasiones y volver a un conjunto de permisos más restrictivo una vez que hayas terminado.
Si se pregunta qué más puede hacer la Terminal, consulte nuestra publicación sobre cómo copiar y pegar desde la línea de comandos. ¿Tienes que administrar los permisos de archivos? ¿Te ayudará esta publicación? ¡Háganos saber en la sección de comentarios!
¡Suscríbete a nuestro boletín!
Nuestros últimos tutoriales entregados directamente a su bandeja de entrada