Explicación del comando Chmod y los permisos de archivos de Linux

Explicación del comando Chmod y los permisos de archivos de Linux

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





O tal vez tenga un sitio web alojado en un servidor Linux y se haya encontrado con algunos problemas de permisos de archivos que solo se pueden resolver con algo de magia en la línea de comandos.





Independientemente, uno de los los comandos de Linux más esenciales para aprender es un comando pequeño pero poderoso llamado chmod . Pero antes de explicar qué hace el comando, primero tenemos que entender un poco cómo gestiona Linux la seguridad de los archivos.





Los conceptos básicos de los permisos de archivos de Linux

Los sistemas operativos Linux son en realidad sistemas similares a Unix ( comprensión de Linux frente a Unix ), y los sistemas similares a Unix se acercan a los permisos de archivo de la siguiente manera:

Cada archivo tiene un dueño , que determina la 'clase de usuario' del archivo. Cada archivo también tiene un grupo , que determina la 'clase de grupo' del archivo. Se determina que cualquier usuario del sistema que no sea el propietario y no pertenezca al mismo grupo otros .



Todos los archivos en sistemas similares a 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 similar a Unix son: leer (la capacidad de abrir y ver el contenido del archivo), escribir (la capacidad de abrir y modificar el contenido de un archivo), y ejecutar (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 (r), escritura (w) y ejecución (x) del archivo en orden de propietario, grupo y otros. Si no está permitido, se utiliza el símbolo de guión (-).

Por ejemplo:

|_+_|

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

El segundo formato se llama notación numérica , que es una cadena de tres dígitos que representan cada uno de los permisos de usuario, grupo y otros permisos, respectivamente. Cada dígito puede oscilar entre 0 y 7, y el valor de cada dígito se obtiene sumando 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 (

|_+_|

) sería 754 en notación numérica.

En pocas palabras, esos son los permisos de archivos de Linux.

¿Qué es Chmod?

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

¿Por qué mis juegos siguen fallando?

No confundir con chown , que es otro comando a nivel de sistema en sistemas similares a Unix que significa 'cambiar propietario' 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. Es importante conocerlos, pero no se usan con tanta frecuencia 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 quiera, mientras que todos 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 archivos que son de acceso público porque equilibra la flexibilidad con la seguridad.

aplicación de llamadas wifi gratis para android

¿Qué significa Chmod 755?

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

¿Qué significa Chmod 555?

Establecer los permisos de un archivo en 555 hace que nadie, excepto el superusuario del sistema, pueda modificar el archivo (obtenga más información sobre el superusuario de Linux). Esto no se usa tan comúnmente como 644, pero aún es importante saberlo porque la configuración de solo lectura evita cambios accidentales y / o alteraciones.

¿Qué significa Chmod 777?

Establecer los permisos de un archivo en 777 hace que cualquiera 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 quiera y ejecutarlo en el sistema. Puedes imaginar el daño potencial si un usuario deshonesto lo tuviera en sus manos.

Cómo usar Chmod en Linux

El comando chmod tiene un formato simple:

|_+_|

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

|_+_|

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

|_+_|

Puede modificar los permisos para varias clases, como este ejemplo, que establece que el propietario lea / escriba / ejecute, pero que el grupo y otros lean / ejecuten:

|_+_|

Al asignar los mismos permisos a varias clases, puede combinarlos:

|_+_|

Pero la belleza de usar 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, este agrega el permiso de ejecución para el propietario del archivo:

|_+_|

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

|_+_|

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

|_+_|

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

Más información sobre cómo dominar Linux

Los 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 ingeniosos trucos para los principiantes de Linux, así como estos comandos de Linux que nunca debería ejecutar.

Pero lo más importante es que lo mejor sería consultar nuestra guía completa para principiantes de Ubuntu y Linux , que le enseñará todo lo que necesita saber para comenzar y lo familiarizará lo suficiente como para sentirse cómodo.

Cuota Cuota Pío Correo electrónico 5 consejos para potenciar sus máquinas Linux VirtualBox

¿Cansado del bajo rendimiento que ofrecen las máquinas virtuales? Esto es lo que debe hacer para mejorar el rendimiento de VirtualBox.

Leer siguiente
Temas relacionados
  • Linux
  • Comandos de Linux
Sobre el Autor Joel Lee(1524 Artículos publicados)

Joel Lee es el editor en jefe de MakeUseOf desde 2018. Tiene un B.S. en Ciencias de la Computación y más de nueve años de experiencia profesional en redacción y edición.

Más de Joel Lee

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse