Saltar al contenido

Permisos linux

Permisos en Linux: Cómo leerlos y otorgarlos con CHMOD


En el mundo de Linux, uno de los conceptos más importantes es el manejo de permisos de archivos y directorios. La seguridad y el acceso al sistema dependen de cómo se asignen estos permisos, y es crucial entender cómo leerlos, interpretarlos y modificarlos para asegurarte de que solo las personas adecuadas puedan acceder o modificar archivos importantes.


¿Qué son los permisos en Linux?

Cada archivo y directorio en Linux tiene un conjunto de permisos asociados que definen quién puede leer, escribir y ejecutar el archivo. Estos permisos están divididos en tres categorías:

  1. Propietario (Owner): La persona que creó el archivo o a la que se le asignó como propietaria.
  2. Grupo (Group): Un grupo de usuarios que comparten permisos sobre el archivo o directorio.
  3. Otros (Others): Todos los demás usuarios que no son ni el propietario ni parte del grupo.

¿Cómo leer los permisos en Linux?

Cuando ejecutas el comando ls -l en una terminal de Linux, puedes ver una lista de archivos con sus permisos detallados. Aquí te explico cómo interpretar lo que aparece:

código$ ls -l
-rw-r--r-- 1 user group 4096 Oct 1 12:00 archivo.txt

La salida del comando incluye una serie de datos clave:

  1. Primera columna: Muestra los permisos del archivo en una secuencia de 10 caracteres.
    • El primer carácter indica el tipo de archivo:
      • (guion) significa un archivo regular.
      • d significa un directorio.
      • l significa un enlace simbólico.
    • Los siguientes 9 caracteres están divididos en tres grupos de tres:
      • rw-: Los permisos del propietario (read, write, no execute).
      • r–: Los permisos del grupo (read, no write, no execute).
      • r–: Los permisos de otros (read, no write, no execute).
    En este ejemplo, el propietario puede leer y escribir el archivo, mientras que el grupo y otros solo pueden leerlo.

Tipos de permisos

En Linux, los permisos básicos se dividen en tres tipos:

  • r (read): Permite leer el contenido de un archivo o ver el listado de archivos en un directorio.
  • w (write): Permite modificar o eliminar el contenido de un archivo o añadir/eliminar archivos en un directorio.
  • x (execute): Permite ejecutar un archivo como un programa o entrar en un directorio.

Cómo cambiar los permisos: El comando CHMOD

CHMOD (Change Mode) es el comando utilizado en Linux para cambiar los permisos de un archivo o directorio. Puedes usarlo de dos maneras:

1. Modo simbólico

Este modo permite modificar permisos usando símbolos como +, , y = para añadir, eliminar o establecer permisos específicos:

  • +: Añadir un permiso.
  • : Quitar un permiso.
  • =: Establecer permisos exactos.

Por ejemplo, si tienes un archivo llamado archivo.txt y quieres darle permisos de escritura al grupo, ejecutarías lo siguiente:

código$ chmod g+w archivo.txt

En este caso:

  • g se refiere al grupo.
  • +w añade el permiso de escritura.

Si quisieras quitar el permiso de ejecución para otros:

código$ chmod o-x archivo.txt

2. Modo numérico

El modo numérico de CHMOD utiliza un sistema de tres dígitos, donde cada uno representa los permisos del propietario, grupo y otros. Cada permiso tiene un valor numérico:

  • 4: Lectura (r)
  • 2: Escritura (w)
  • 1: Ejecución (x)

Para establecer permisos, sumas estos valores. Por ejemplo:

  • 7: Lectura + Escritura + Ejecución (4 + 2 + 1)
  • 6: Lectura + Escritura (4 + 2)
  • 5: Lectura + Ejecución (4 + 1)
  • 0: Sin permisos

Si quieres dar al propietario todos los permisos (7), al grupo permisos de lectura y ejecución (5), y a otros solo lectura (4), ejecutarías:

código$ chmod 754 archivo.txt

Esto establece los permisos como rwxr-xr–, lo que significa que:

  • El propietario puede leer, escribir y ejecutar.
  • El grupo puede leer y ejecutar.
  • Otros solo pueden leer.

Cambiar el propietario y el grupo: CHOWN y CHGRP

En algunos casos, es necesario cambiar el propietario o grupo de un archivo. Para eso, puedes utilizar los comandos chown y chgrp.

  • CHOWN: Cambia el propietario de un archivo.shellCopiar código$ sudo chown nuevo_propietario archivo.txt
  • CHGRP: Cambia el grupo de un archivo.shellCopiar código$ sudo chgrp nuevo_grupo archivo.txt

También puedes combinar ambos comandos para cambiar propietario y grupo al mismo tiempo:

código$ sudo chown nuevo_propietario:nuevo_grupo archivo.txt

Ejemplos prácticos de CHMOD

  1. Dar permisos de ejecución a todos los usuarios en un archivo de script:shellCopiar código$ chmod +x script.sh Esto permite que cualquier usuario pueda ejecutar el archivo script.sh.
  2. Eliminar permisos de escritura para otros usuarios:shellCopiar código$ chmod o-w archivo.txt
  3. Dar permisos completos al propietario y permisos de lectura a todos los demás:shellCopiar código$ chmod 744 archivo.txt
  4. Dar permisos de lectura y escritura a todos:shellCopiar código$ chmod 666 archivo.txt

Conclusión

Los permisos en Linux son esenciales para mantener la seguridad y la integridad del sistema. Saber cómo leer y cambiar estos permisos con comandos como chmod, chown, y chgrp te permitirá tener un mayor control sobre quién puede acceder y modificar archivos y directorios. Recuerda que los permisos mal configurados pueden poner en riesgo la seguridad de tu sistema, así que ¡utilízalos con sabiduría!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *