El comando Chmod y los permisos de archivos de Linux explicados
Así que ha encontrado una variedad de Linux que le gusta, pero ahora está confundido porque no tiene la menor idea de los comandos de terminal y los permisos de archivos de Linux?
O tal vez tienes un sitio web alojado en un servidor Linux y te encuentras con algunos problemas de permisos de archivos que solo se pueden resolver con un poco de magia en la línea de comandos.
En cualquier caso, uno de los comandos de Linux más esenciales para aprender Una A-Z de Linux: 40 comandos esenciales que debe conocer Una A-Z de Linux: 40 comandos esenciales que debe saber Linux es la tercera rueda que a menudo se ignora para Windows y Mac. Sí, durante la última década, el sistema operativo de código abierto ha ganado mucha tracción, pero aún está muy lejos de ser considerado ... Leer más es un comando pequeño pero poderoso llamado chmod. Pero antes de explicar qué hace el comando, primero debemos entender un poco sobre cómo Linux maneja la seguridad de los archivos..
Los fundamentos de los permisos de archivos de Linux
Los sistemas operativos Linux son en realidad sistemas similares a Unix (que comprenden Linux vs. Unix), y los sistemas similares a Unix se aproximan a los permisos de archivos de la siguiente manera:
Cada archivo tiene una propietario, lo que determina el archivo “clase de usuario.” Cada archivo también tiene una grupo, lo que determina el archivo “clase grupal.” Cualquier usuario del sistema que no sea el propietario y no pertenezca al mismo grupo está determinado a ser 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..
- Cualquiera 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 por orden de propietario, grupo y otros. Si no está permitido, se utiliza el símbolo de guión (-).
Por ejemplo:
-rwxr-xr--
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 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 cada uno de los permisos de usuario, grupo y otros permisos, respectivamente. Cada dígito puede variar 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: Lee y ejecuta
- 6: leer y escribir
- 7: Leer, escribir y ejecutar
Así que el ejemplo anterior (-rwxr-xr--
) sería 754 en notación numérica.
Eso es permisos de archivos de Linux en pocas palabras.
Que 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.
No debe confundirse con Chown, que es otro comando de nivel de sistema en sistemas similares a Unix que significa “Cambio de propietario” y le permite asignar la propiedad de un archivo a otro usuario, o chgrp, Lo que significa “cambiar de grupo” y asigna un archivo a un grupo diferente. Es importante saberlos, pero no se utilizan tan comúnmente 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 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 accesibles al público porque equilibra la flexibilidad con la seguridad.
¿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 lo hace para que nadie más pueda modificar el archivo, excepto el superusuario del sistema (obtenga más información sobre el superusuario Linux Importante para usar Linux de manera efectiva: la cuenta de usuario raíz o SU de Linux es una herramienta poderosa que puede ser útil cuando se usa correctamente o es devastadora si se usa de manera imprudente. Veamos por qué debería ser responsable al usar SU. 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 manipulación..
¿Qué significa Chmod 777??
Establecer los permisos de un archivo en 777 lo hace para que cualquiera pueda hacer lo que quiera con el archivo. Este es un gran riesgo de seguridad, especialmente en servidores web! Literalmente, cualquiera puede acceder al archivo, modificarlo como desee y ejecutarlo en el sistema. Se puede imaginar el daño potencial si un usuario deshonesto lo controlara..
Cómo usar Chmod en Linux
El comando chmod tiene un formato simple:
chmod [permisos] [archivo]
Los permisos se pueden dar en notación numérica, que es el mejor formato para usar cuando se desean asignar permisos específicos para todas las clases:
chmod 644 ejemplo.txt
Los permisos también se pueden dar en notación simbólica, lo que es útil cuando solo desea 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 lea / escriba / ejecute, pero el grupo y otros usuarios lean / ejecute:
chmod u = rwx, g = rw, o = rw example.txt
Al asignar los mismos permisos a varias clases, puede combinarlos:
chmod u = rwx, go = rw example.txt
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 añade el permiso de ejecución para el propietario del archivo:
chmod u + x ejemplo.txt
Y esto elimina Los permisos de escritura y ejecución para otros usuarios:
chmod o-wx ejemplo.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 diríjase a 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 has dominado chmod!
Aprende más sobre dominar Linux
Comandos como chmod, chown y chgrp son solo la punta del iceberg de Linux. Si eres nuevo en el sistema operativo, te recomendamos que consultes estos sencillos trucos para los principiantes de Linux, así como los comandos de Linux que nunca deberías ejecutar..
Pero lo más importante es que lo harías mejor revisando nuestra guía integral para principiantes sobre Ubuntu y Linux Ubuntu: una guía para principiantes Ubuntu: una guía para principiantes ¿Tienes curiosidad sobre Ubuntu, pero no estás seguro por dónde empezar? Todo lo que pueda necesitar para comenzar con la última versión de Ubuntu está aquí, escrito en un lenguaje sencillo y fácil de entender. Lea más, que le enseñará todo lo que necesita saber para comenzar y familiarizarse lo suficiente como para sentirse cómodo..
Explorar más sobre: Comandos de Linux.