Permisos de Archivos y Carpetas en Linux: Guía Completa

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Los permisos de archivos y carpetas en Linux son fundamentales para la seguridad y la administración del sistema. Entender cómo funcionan y cómo manipularlos es esencial para cualquier usuario o administrador. En este artículo, exploraremos los conceptos básicos, cómo se representan los permisos y las formas de modificarlos.

¿Qué Son los Permisos de Archivos y Carpetas?

En Linux, cada archivo y carpeta tiene un conjunto de permisos que determina quién puede leer, escribir y ejecutar ese archivo o carpeta. Estos permisos se asignan a tres categorías de usuarios:

  1. Usuario (Owner): El propietario del archivo.
  2. Grupo (Group): Los usuarios que pertenecen al grupo del archivo.
  3. Otros (Others): Todos los demás usuarios.

Representación de los Permisos

Los permisos en Linux se representan de dos formas principales: simbólica y numérica.

Representación Simbólica

Los permisos se muestran como una cadena de 10 caracteres. Por ejemplo:

-rwxr-xr--

Aquí, los caracteres se desglosan de la siguiente manera:

  • El primer carácter indica el tipo de archivo (- para archivos normales, d para directorios).
  • Los siguientes tres caracteres representan los permisos del propietario (rwx).
  • Los siguientes tres caracteres representan los permisos del grupo (r-x).
  • Los últimos tres caracteres representan los permisos para otros (r--).

Representación Numérica

Los permisos también se pueden expresar numéricamente usando un sistema octal. Cada permiso (lectura, escritura, ejecución) tiene un valor:

  • Lectura (read) = 4
  • Escritura (write) = 2
  • Ejecución (execute) = 1

La combinación de estos valores nos da un número de tres cifras. Por ejemplo, rwxr-xr-- se traduce a 755 (propietario tiene 7 (4+2+1), grupo tiene 5 (4+1), otros tienen 5 (4+0+1)).

Comandos para Ver y Modificar Permisos

Ver Permisos

Para ver los permisos de un archivo o carpeta, se usa el comando ls -l:

ls -l nombre_archivo

Este comando muestra una lista detallada de archivos con sus permisos.

Cambiar Permisos

Para cambiar los permisos, se utiliza el comando chmod. Este comando puede emplearse tanto en notación simbólica como numérica.

Uso Simbólico de chmod

Para añadir o quitar permisos se pueden usar los operadores +, -, y =. Por ejemplo:

chmod u+x nombre_archivo  # Añadir permiso de ejecución al propietario
chmod g-w nombre_archivo # Quitar permiso de escritura al grupo
chmod o=r nombre_archivo # Establecer permiso de solo lectura para otros

Uso Numérico de chmod

Para establecer permisos usando la notación numérica:

chmod 755 nombre_archivo

Este comando da permisos de lectura, escritura y ejecución al propietario, y solo permisos de lectura y ejecución al grupo y a otros.

Cambiar Propietario y Grupo

Además de los permisos, es posible cambiar el propietario y el grupo de un archivo usando los comandos chown y chgrp.

Cambiar Propietario

chown nuevo_propietario nombre_archivo

Cambiar Grupo

chgrp nuevo_grupo nombre_archivo

También es posible cambiar tanto el propietario como el grupo en un solo comando:

chown nuevo_propietario:nuevo_grupo nombre_archivo

Permisos Especiales

SUID, SGID y Sticky Bit

Linux también tiene permisos especiales que proporcionan funcionalidades adicionales.

  • SUID (Set User ID): Permite que un archivo se ejecute con los permisos del propietario en lugar del usuario que lo ejecuta.
  • SGID (Set Group ID): Permite que un archivo se ejecute con los permisos del grupo del archivo en lugar del grupo del usuario que lo ejecuta. Para directorios, los archivos creados heredan el grupo del directorio padre.
  • Sticky Bit: Se usa en directorios para que solo el propietario de un archivo pueda borrarlo o moverlo, independientemente de los permisos del directorio.

Para configurar estos permisos se puede usar chmod con opciones específicas:

chmod u+s nombre_archivo  # Establecer SUID
chmod g+s nombre_archivo # Establecer SGID
chmod +t nombre_directorio # Establecer Sticky Bit

Conclusión

Los permisos de archivos y carpetas en Linux son una herramienta poderosa para controlar el acceso y la seguridad en el sistema. Comprender cómo ver, interpretar y modificar estos permisos es crucial para mantener un entorno seguro y eficiente. Con esta guía, deberías tener una base sólida para gestionar permisos en Linux y asegurar tus archivos y directorios adecuadamente.