Si es un usuario de Linux o un administrador del sistema que administra un servidor Linux, se encontrará con el error «No tiene los permisos para cargar el archivo 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 «chmod 777 el archivo». Pero, ¿qué significa «777»? ¿Y por qué tiene que ser “7” y no “8” o “9”?
En esta publicación, le mostramos cómo comprender un poco mejor los permisos de archivo, incluido lo que significa chmod 777.
Descripción de los permisos de archivo
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: un Propietario, un Grupo (que comparten todos 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 establecer 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, solo 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.
- Escribe. Puede 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 más comúnmente cuando necesita ejecutar un script.
Al usar 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 las clases y los permisos, puede 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 otorgan permisos de ningún tipo.
Cuando establece un permiso de «Lectura», agrega 4 bits a los datos, convirtiéndolos en «100» (en formato binario) o «4» en el formato decimal habitual. Establecer 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 «Ejecutar» agrega 1 bit a los datos, lo que dará como resultado «001» o «1» en forma decimal. En breve:
- Leer es equivalente a «4».
- Escribir es equivalente a «2».
- Ejecutar es equivalente a «1».
En pocas palabras, establecer permisos es matemática básica. Por ejemplo, para establecer permisos de «Lectura y escritura», combinamos 4 y 2 para obtener 6. Por supuesto, hay otras permutaciones:
- 0: Sin autorización
- 1: Ejecutar
- 2: Escribe
- 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 archivo asigna el primer dígito al Propietario, el segundo dígito al Grupo y el tercero a Otros. Estos son algunos de los permisos más utilizados:
- 755. Los servidores web suelen utilizar este conjunto de permisos. 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 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 todos los usuarios pueden leer, escribir y ejecutar. Debido a que otorga permisos completos, debe usarse con cuidado. Sin embargo, en algunos casos, deberá configurar los permisos 777 antes de poder cargar cualquier archivo en el servidor.
Configuración de permisos de archivo en la línea de comandos
En Linux, puede cambiar fácilmente los permisos de archivo haciendo clic derecho en un archivo o carpeta y seleccionando «Propiedades». Esto abrirá una pestaña de Permiso donde puede hacer cambios.
Por el contrario, puede 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 de la sección Privilegio y elija algo más adecuado.
Sin embargo, esta no es la única forma en que puede cambiar los permisos de los archivos. Vamos a explicar esto con más detalle a continuación.
Cambio de permisos de archivo usando chmod 777
Si está más familiarizado con la Terminal y la Línea de comandos, también puede cambiar los permisos aquí.
los 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 todos los que tengan acceso. Como tal, es un poderoso y potencial interruptor del sistema, por lo que se debe tener mucho cuidado con él.
En resumen
Los permisos de archivo pueden presentarle un obstáculo si no están configurados correctamente. Esto es 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 que debe tener.
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. Debe usarlo en raras ocasiones y volver a cambiar a un conjunto de permisos más restrictivo una vez que haya 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. ¿Tiene que administrar los permisos de archivo? ¿Le ayudará esta publicación? ¡Háganos saber en la sección de comentarios!