El comando Chmod y los permisos del archivo Linux explicados

Si desea administrar los permisos de archivos correctamente en cualquier sistema operativo Linux, necesita conocer el comando chmod.

Si desea administrar los permisos de archivos correctamente en cualquier sistema operativo Linux, necesita conocer el comando chmod.
Anuncio

Entonces, ¿ha encontrado el sabor de Linux que le gusta, pero ahora está confundido porque no tiene la menor idea sobre los comandos del terminal y los permisos de archivos de Linux?

O tal vez tiene un sitio web alojado en un servidor Linux y se ha encontrado con algunos problemas de permisos de archivos que solo pueden resolverse con alguna magia de línea de comandos.

De todos modos, uno de los comandos Linux más esenciales para aprender Una A a la Z de Linux: 40 comandos esenciales que debes conocer Una A a la Z de Linux: 40 comandos esenciales que debes conocer Linux es la tercera rueda que se ignora a menudo para Windows y Mac. Sí, en la última década, el sistema operativo de fuente abierta ha ganado mucha tracción, pero aún está lejos de ser considerado ... Read More es un comando pequeño pero poderoso llamado chmod . Pero antes de explicar lo que hace el comando, primero tenemos que entender un poco sobre cómo maneja Linux la seguridad del archivo.

Los fundamentos de los permisos de archivos de Linux

Los sistemas operativos Linux son en realidad sistemas tipo Unix (que entienden Linux vs. Unix), y los sistemas tipo Unix se acercan a los permisos de archivos de esta manera:

Cada archivo tiene un propietario, que determina la "clase de usuario" del archivo. Cada archivo también tiene un grupo, que determina la "clase de grupo" del archivo. Cualquier usuario del sistema que no sea el propietario y no pertenezca al mismo grupo es determinado a ser otros .

Todos los archivos en sistemas tipo Unix tienen permisos asignados a las tres clases, y estos determinan qué acciones pueden tomar dichas clases para el archivo dado.

Las tres acciones disponibles en un sistema tipo Unix son: lectura (la capacidad de abrir y ver el contenido del archivo), escritura (la capacidad de abrir y modificar el contenido de un archivo) y ejecución (la capacidad de ejecutar el archivo como un programa ejecutable).

En otras palabras, los permisos de un archivo determinan si:

  • El propietario puede leer, escribir y ejecutar el archivo.
  • El grupo puede leer, escribir y ejecutar el archivo.
  • Cualquier otra persona puede leer, escribir y ejecutar el archivo.

Los permisos de archivos de Linux se pueden mostrar en dos formatos.

El primer formato se llama notación simbólica, que es una cadena de 10 caracteres: un carácter que representa el tipo de archivo, luego nueve caracteres que representan los permisos de lectura del archivo (r), escritura (w) y ejecución (x) en orden de propietario, grupo y otros. Si no se permite, se usa el símbolo del tablero (-).

Por ejemplo:

-rwxr-xr-- 

Esto significa que es un archivo regular con permisos de lectura, escritura y ejecución para el propietario; leer y ejecutar permisos para el grupo; y solo lee permisos para todos los demás.

El segundo formato se llama notación numérica, que es una cadena de tres dígitos que representan usuarios, grupos y otros permisos, respectivamente. Cada dígito puede ir de 0 a 7, y el valor de cada dígito se obtiene al sumar los permisos de la clase:

  • 0 significa que no se permiten permisos.
  • +1 si la clase puede ejecutar el archivo.
  • +2 si la clase puede escribir en el archivo.
  • +4 si la clase puede leer el archivo.

En otras palabras, el significado de cada valor de dígito termina siendo:

  • 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

Entonces el ejemplo anterior ( -rwxr-xr-- ) sería 754 en notación numérica.

Eso es permisos de archivos de Linux en pocas palabras.

¿Qué es Chmod?

En sistemas tipo Unix, chmod es un comando a nivel de sistema que significa "modo de cambio" y le permite cambiar manualmente la configuración de permisos de un archivo.

No debe confundirse con chown, que es otro comando a nivel de sistema en sistemas tipo Unix que significa "propietario de cambio" y le permite asignar la propiedad de un archivo a otro usuario, o chgrp, que significa "grupo de cambio" y asigna un archivo a un grupo diferente. Estos son importantes para saber, pero no tan comúnmente usados ​​como chmod.

¿Qué significa Chmod 644?

Establecer los permisos de un archivo en 644 hace que solo el propietario pueda acceder y modificar el archivo como lo desee, mientras que los demás solo pueden acceder sin modificar y nadie puede ejecutar el archivo, ni siquiera el propietario. Esta es la configuración ideal para los archivos que son de acceso público porque equilibra la flexibilidad con la seguridad.

¿Qué significa Chmod 755?

Establecer los permisos de un archivo a 755 es básicamente lo mismo que 644, excepto que todos también tienen permisos de ejecución. Esto se usa principalmente para directorios de acceso público porque el permiso de ejecución es necesario para cambiar a un directorio.

¿Qué significa Chmod 555?

Establecer los permisos de un archivo en 555 hace que nadie pueda modificar el archivo, excepto el superusuario del sistema (obtenga más información sobre el superusuario de Linux ¿Qué es SU y por qué es importante utilizar Linux de manera efectiva? ¿Qué es SU y por qué? Importante para usar Linux de manera efectiva: la cuenta de usuario Linux SU o usuario raíz es una poderosa herramienta que puede ser útil cuando se usa de forma correcta o devastadora si se usa imprudentemente. Veamos por qué debería ser responsable cuando usa SU. Lea más). Esto no se usa tan comúnmente como 644, pero aún así es importante saberlo porque la configuración de solo lectura evita cambios accidentales y / o manipulación indebida.

¿Qué significa Chmod 777?

Establecer los permisos de un archivo en 777 lo hace para que cualquier persona pueda hacer lo que quiera con el archivo. ¡Este es un gran riesgo de seguridad, especialmente en los servidores web! Literalmente, cualquiera puede acceder al archivo, modificarlo como lo desee y ejecutarlo en el sistema. Puedes imaginar el daño potencial si un usuario deshonesto tiene en sus manos.

Cómo usar Chmod en Linux

El comando chmod tiene un formato simple:

 chmod [permissions] [file] 

Los permisos se pueden dar en notación numérica, que es el mejor formato para usar cuando desea asignar permisos específicos para todas las clases:

 chmod 644 example.txt 

Los permisos también se pueden dar en notación simbólica, que es útil cuando solo quieres modificar los permisos de una clase en particular. Por ejemplo:

 chmod u=rwx example.txt chmod g=rw example.txt chmod o=rw example.txt 

Puede modificar los permisos para varias clases, como este ejemplo que establece que el propietario debe leer / escribir / ejecutar, pero el grupo y otros para leer / ejecutar:

 chmod u=rwx, g=rw, o=rw example.txt 

Al asignar los mismos permisos a múltiples clases, puede combinarlos:

 chmod u=rwx, go=rw example.txt 

Pero la belleza del uso de la notación simbólica brilla cuando solo desea agregar o quitar el permiso para una acción en particular para una clase en particular.

Por ejemplo, esto agrega el permiso de ejecución para el propietario del archivo:

 chmod u+x example.txt 

Y esto elimina los permisos de escritura y ejecución para otros usuarios:

 chmod o-wx example.txt 

Por último, si desea aplicar un conjunto particular de permisos a todos los archivos y carpetas dentro de un directorio particular (es decir, un chmod recursivo), use la opción -R y oriente un directorio:

 chmod -R 755 example_directory 

Si bien el comando chmod parece un poco loco a primera vista, en realidad es bastante simple y completamente lógico. Si entiendes lo anterior, básicamente dominas chmod!

Conozca más sobre el dominio de Linux

Comandos como chmod, chown y chgrp son solo la punta del iceberg de Linux. Si es nuevo en el sistema operativo, le recomendamos que consulte estos trucos para principiantes de Linux, así como estos comandos de Linux que nunca debería ejecutar.

Pero lo más importante es que lo mejor será consultar nuestra guía completa para principiantes sobre Ubuntu y Ubuntu de Ubuntu: Una guía para principiantes Ubuntu: Una guía para principiantes. ¿Tiene curiosidad por Ubuntu, pero no está seguro de dónde empezar? Todo lo que pueda necesitar para comenzar con la última versión de Ubuntu está aquí, escrito en inglés simple y fácil de entender. Lea más, que le enseñará todo lo que necesita saber para comenzar y lo suficientemente familiarizado como para sentirse cómodo.

In this article