Gestión de Permisos en Linux: Lectura, Escritura y Ejecución

Clase 14 de 26Curso de Introducción a la Terminal y Línea de Comandos

Resumen

Los permisos en sistemas operativos basados en Linux o UNIX, como Mac, determinan qué acciones pueden realizarse sobre cada archivo o directorio. Son cruciales para gestionar quién puede leer, escribir o ejecutar determinados recursos, manteniendo la seguridad y orden en nuestro sistema.

¿Qué son los permisos en Linux y cómo se leen?

En Linux existen tres tipos básicos de permisos representados por letras, que indican las acciones permitidas: - Lectura (R): indica que el archivo puede ser leído. - Escritura (W): indica que el archivo puede ser modificado. - Ejecución (X): permite ejecutar el archivo como programa o script.

Al listar los archivos usando ls -la, visualizamos los permisos como conjuntos de caracteres organizados en tres grupos:

  • Primer grupo: permisos del usuario propietario del archivo.
  • Segundo grupo: permisos del grupo.
  • Tercer grupo: permisos para otros recursos como procesos o usuarios no especificados explícitamente.

Ejemplo visual:

-rwxr--r--  usuario  grupo  archivo

¿Cómo modificar permisos utilizando chmod?

Es posible ajustar los permisos mediante el comando chmod. Existen dos maneras básicas:

Forma descriptiva con símbolos + o -

Puedes agregar o quitar permisos de esta manera:

chmod +x script.sh

Esta opción añade permiso de ejecución al usuario, grupo y otros recursos al archivo script.sh.

Forma numérica

Cada permiso posee un valor numérico específico: - Lectura (R) = 4 - Escritura (W) = 2 - Ejecución (X) = 1

Estos valores se suman para asignar combinaciones específicas. Por ejemplo: - Lectura + Escritura + Ejecución (RWX) = 7 - Solo Lectura + Ejecución (R-X) = 5 - Solo Lectura (R--) = 4

Ejemplo para asignar a un archivo script.sh permisos completos al usuario y ninguno a grupos u otros:

chmod 700 script.sh

Recomendaciones prácticas para gestionar permisos

  • Evita asignar permisos totales (777), ya que implican riesgos de seguridad al permitir el acceso total a cualquier recurso.
  • Una configuración habitual recomendada para scripts compartidos es 755: usuario puede leer, escribir, ejecutar; grupo y otros pueden solo leer y ejecutar.

Ejemplo:

chmod 755 script.sh

Cambio de permisos en directorios y sus contenidos

Si requieres modificar permisos de forma recursiva (a todos los contenidos de un directorio), la opción -R de chmod aplica el cambio ampliamente:

chmod -R 755 textos

Sin embargo, generalmente los sistemas Linux limitan esta acción para evitar conflictos o problemas de seguridad. Por ello, se recomienda:

  • Cambiar permisos individualmente archivo por archivo.
  • Generar un script que aplique permisos específicos.
  • Usar una búsqueda previa con find para identificar exactamente qué archivos deben modificarse.

Gestionar correctamente los permisos es esencial para el adecuado funcionamiento y mantenimiento de scripts, la seguridad en el manejo de datos y el orden del sistema operativo Linux.