Anuncio

Entonces has encontré un sabor de Linux que te gusta, pero ahora estás confundido porque no tienes la menor idea sobre los comandos de 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 se pueden resolver con algo de magia en la línea de comandos.

Independientemente, uno de los comandos de Linux más esenciales para aprender Una A-Z de Linux: 40 comandos esenciales que debe saberLinux es la tercera rueda a menudo ignorada para Windows y Mac. Sí, en la última década, el sistema operativo de código abierto ha ganado mucha tracción, pero todavía está muy lejos de ser considerado ... Lee mas es un comando pequeño pero poderoso llamado chmod. Pero antes de explicar lo que 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 tipo Unix (

instagram viewer
entendiendo Linux vs. Unix), y los sistemas similares a Unix se acercan a los permisos de archivos de la siguiente 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. Se determina que cualquier usuario del sistema que no sea el propietario y no pertenezca al mismo grupo es 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 tipo 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 usa 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 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 cada uno de los permisos de usuario, grupo y otros, respectivamente. Cada dígito puede variar de 0 a 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 (-rwxr-xr--) sería 754 en notación numérica.

Esos son los permisos de archivos de Linux en pocas palabras.

¿Qué es chmod?

En sistemas tipo 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 tipo Unix que significa "cambiar propietario" y le permite asignar la propiedad de un archivo a otro usuario, o chgrp, que significa "cambiar grupo" y asigna un archivo a un grupo diferente. Es importante saberlo, pero no se usa 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 sin embargo querer, 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 a los que se puede acceder públicamente 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 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 el archivo no pueda ser modificado por nadie más que por el superusuario del sistema (Aprenda más sobre el superusuario de Linux ¿Qué es SU y por qué es importante usar Linux de manera efectiva?La cuenta de usuario de Linux SU o root es una herramienta poderosa que puede ser útil cuando se usa correctamente o devastadora si se usa imprudentemente. Veamos por qué deberías ser responsable al usar SU. Lee mas ). Esto no se usa con tanta frecuencia 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 lo desee y ejecutarlo en el sistema. Puedes imaginar el daño potencial si un usuario deshonesto lo tiene en sus manos.

Cómo usar Chmod en Linux

El comando chmod tiene un formato simple:

chmod [permisos] [archivo]

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:

chmod 644 example.txt

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:

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

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:

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 del uso de la notación simbólica brilla cuando solo desea agregar o eliminar 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 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 directorio_ejemplo

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!

Aprenda más sobre el dominio de 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 trucos geniales para los novatos de Linux así como estos Comandos de Linux que nunca deberías ejecutar.

Pero lo más importante, lo harías mejor revisando nuestro guía integral para principiantes sobre Ubuntu y Linux Ubuntu: una guía para principiantes¿Tienes curiosidad por Ubuntu, pero no sabes por dónde empezar? Todo lo que pueda necesitar para comenzar con la última versión de Ubuntu está aquí, escrito en inglés sencillo y fácil de entender. Lee mas , que le enseñará todo lo que necesita saber para comenzar y familiarizarse lo suficiente como para sentirse cómodo.

Joel Lee tiene un B.S. en informática y más de seis años de experiencia profesional en redacción. Es el editor en jefe de MakeUseOf.