Saltar al contenido

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

Si es un usuario de Linux o un webmaster que administra su propio sitio web (que probablemente esté alojado en un servidor Linux), seguramente se encontrará con una situación en la que intente cargar un archivo o modificar un documento y reciba el error “ No tiene los permisos para cargar archivos en la carpeta “. Y después de buscar en Google, la solución suele ser tan fácil como configurar el permiso del archivo en “775” o “777”. Entonces, ¿qué significa exactamente “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) vienen con un mecanismo de control de archivos para determinar quién puede acceder a un archivo o carpeta en particular y qué acciones pueden realizar en él. Hay dos partes en el mecanismo de control de archivos, a saber, “Clases” y “Permisos”. Clases determina quién puede acceder al archivo, mientras que Permisos determina el tipo de acción que el usuario puede realizar en el archivo.

Hay tres clases: propietario, grupo y otros.

  • El propietario suele ser el creador de los archivos / carpetas. En Linux, los archivos o carpetas que creó en su directorio de inicio suelen ser propiedad de usted, 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.

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

En cuanto a los permisos, hay 3 tipos de acciones que puede realizar en un archivo / carpeta. Puede “leer”, “escribir” o “ejecutar”.

  • Leer : solo puede ver el archivo, pero no puede modificar el contenido del archivo. Cuando se aplica en Carpeta, solo puede ver los archivos en la carpeta, pero no puede eliminarlos ni agregarlos a la carpeta.
  • Escribir : puede editar y modificar el archivo. Para Carpetas, puede eliminar y agregar archivos a la carpeta.
  • Ejecutar – Ejecutar se usa principalmente cuando necesita ejecutar el archivo (comúnmente se usa cuando necesita ejecutar un script).

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

Cuando combine las Clases y los Permisos, podrá controlar quién puede acceder al archivo y qué acciones pueden realizar con él.

Por ejemplo, el propietario normalmente tendrá todos los permisos (leer, escribir y ejecutar) para acceder al archivo. Si no es el propietario del archivo / carpeta, debe cambiar la Propiedad del archivo a su nombre, o cambiar los permisos de Grupo u Otros para leer, escribir 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 o que no tiene los permisos necesarios para agregar archivos a la carpeta.

¿Qué pasa con el número?

Con la comprensión básica de las Clases y Permisos, profundicemos más y veamos cómo surge el “777” o el “775”.

Cada archivo y carpeta contiene datos de 8 bits que controlan los permisos. En su forma binaria básica, será “000”, lo que significa que no se conceden permisos de ninguna forma. Cuando establezca un permiso de “lectura”, agregará 4 bits a los datos, convirtiéndolo en “100” (en formato binario) o un “4” en el formato decimal habitual. Establecer un permiso de “Escritura” agregará 2 bits a los datos, lo que los convertirá en “010” y “2” en forma 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 resumen:

  • Leer es equivalente a ‘4’.
  • Escribir es equivalente a ‘2’.
  • Ejecutar es equivalente a ‘1’

Cuando queremos establecer permisos, simplemente sumamos el número. Por ejemplo, para establecer los permisos en “leer y escribir”, usaremos “6” (4 + 2) para el permiso. Para leer, escribir y ejecutar, usaremos “7” (4 + 2 + 1) para el permiso. Aquí está la permutación diferente:

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, simplemente configure el número correspondiente.

¿Qué pasa con los 3 dígitos “777”? Bueno, 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. Entonces, para un archivo con permiso “777”, todos pueden leer, escribir y ejecutar el archivo. Estos son algunos de los permisos más utilizados:

  • 755: este conjunto de permisos se utiliza habitualmente en el servidor web. El propietario tiene todos los permisos para leer, escribir y ejecutar. Todos los demás solo 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 recomendable establecer el permiso “777” para sus archivos y carpetas, ya que permite que cualquiera agregue 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 el archivo.
  • 655 – Solo el propietario puede leer y escribir, pero no ejecutar el archivo. Todos los demás pueden leer y ejecutar, pero 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 de archivo haciendo clic derecho en el archivo. o carpeta y seleccione “Propiedades”. Habrá una pestaña Permiso donde puede cambiar los permisos del archivo. En la terminal, el comando a usar para cambiar el permiso del archivo es chmod . EnEn resumen, “chmod 777” significa hacer que el archivo sea legible, escribible y ejecutable por todos.

Con suerte, este artículo puede ayudarlo a comprender mejor los permisos de archivo en Sistema Unix y el origen del número mágico “777”.

Ahora que conoce los permisos de archivo, es posible que desee saber cómo puede copiar y pegar texto, archivos y carpetas en la terminal de Linux, o cómo para usar sticky bit para administrar archivos en directorios compartidos.

Crédito de la imagen: Pixelated Linux por DepositPhotos