¿Es usted un usuario de Linux o un webmaster que administra su propio sitio web (que probablemente esté alojado en un servidor Linux)? Tarde o temprano, intentará cargar un archivo o modificar un documento y recibirá el siguiente 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 configurar el permiso del archivo en «775» o «777». Pero, ¿qué significa “777”? ¿Y por qué debe ser «7» y no «8» o «9»?
Comprensión de 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é pueden hacer con ese archivo o carpeta.
El mecanismo de control de archivos consta de dos partes: «Clases» y «Permisos». Las clases determinan quién puede acceder al archivo, mientras que los permisos determinan qué puede hacer el usuario con ese archivo.
Hay tres clases: propietario, grupo 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.
En cuanto a los permisos, existen tres tipos de acciones que puede realizar en un archivo o carpeta:
- 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.
- Escribir. 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 pueden realizar en dicho archivo.
El propietario del archivo normalmente tendrá los tres permisos (leer, escribir y ejecutar). Si no es el propietario del archivo o carpeta, normalmente tendrá que cambiar la propiedad a su nombre, o cambiar los permisos de Grupo u Otros para leer, escribir y / o ejecutar.
En un servidor web, si no puede cargar un archivo, probablemente se deba a que no es el propietario de la carpeta de destino. Alternativamente, es posible que no tenga permisos suficientes para agregar archivos a la carpeta.
777: ¿Qué hay en un número?
Ahora que tenemos un conocimiento básico de las clases y los permisos, veamos por qué “777” y “775” son tan importantes.
Cada archivo y carpeta contiene datos de 8 bits que controlan los permisos. En su forma binaria básica, «000» significa que no se conceden permisos de ninguna forma.
Cuando establece un permiso de «lectura», agrega 4 bits a los datos, lo que los convierte en «100» (en formato binario) o «4» en el formato decimal habitual. Establecer un permiso de «Escritura» agregará 2 bits a los datos, lo que los convierte en «010» y «2» en formato decimal. Por último, establecer un permiso «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’.
Cuando queremos establecer permisos, simplemente agregamos un número. Por ejemplo, para establecer los permisos en «leer y escribir», usamos «6» (4 + 2) para el permiso. Para leer, escribir y ejecutar, usaremos “7” (4 + 2 + 1) para el permiso.
Aquí está la diferente permutación:
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
Dependiendo de los permisos que desee otorgar al archivo, solo necesita establecer el número en consecuencia.
¿Qué significa esto para «777?» El primer dígito se asigna al propietario, el segundo dígito se asigna al grupo y el tercer dígito se asigna a los demás. Si un archivo tiene el permiso “777”, todos pueden leer, escribir y ejecutar el archivo.
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 para leer, escribir y ejecutar. Todos los demás pueden leer y ejecutar, pero no pueden realizar cambios en el archivo.
- 777. Todos pueden leer, escribir y ejecutar. En un servidor web, no es aconsejable utilizar el permiso “777” para sus archivos y carpetas, ya que esto permite que cualquiera pueda agregar código malicioso a su servidor. Sin embargo, en algunos casos, deberá configurar los permisos 777 antes de poder cargar cualquier archivo en el servidor, por ejemplo: cargar imágenes en WordPress.
- 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.
Configuración de permisos de archivo en la línea de comandos
En Linux, puede cambiar fácilmente los permisos del archivo haciendo clic con el botón derecho en el archivo o carpeta y luego seleccionando «Propiedades». Esto abrirá una pestaña de «Permisos» donde puede cambiar los permisos del archivo.
Si es un usuario de Mac, puede cambiar la configuración de permisos haciendo clic con el botón derecho en el archivo o carpeta en cuestión y luego seleccionando «Obtener información». En la ventana siguiente, puede hacer clic para expandir la sección «Compartir y permisos». Esto muestra la configuración de permisos para cada cuenta registrada en su Mac.
Para modificar estos permisos, haga clic en cualquiera de las flechas pequeñas y luego seleccione «Leer y escribir» o «Solo lectura».
También puede cambiar los permisos usando el chmod
comando en la Terminal. En resumen, «chmod 777» significa hacer que el archivo sea legible, escribible y ejecutable por todos.
chmod 777 /path/to/file
Con suerte, este artículo le ayudó a comprender mejor los permisos de archivo en sistemas Unix y el origen del número mágico «777».
Ahora que domina los permisos de archivos, es posible que desee aprender a copiar y pegar texto, archivos y carpetas en la terminal de Linux o utilizar Sticky Bit para administrar archivos en directorios compartidos.