0%
Guía completa de permisos en Linux: comprende y domina los derechos de acceso

Guía completa de permisos en Linux: comprende y domina los derechos de acceso

Descubre cómo funcionan los permisos en Linux, desde la notación simbólica hasta los comandos esenciales. Una guía práctica para proteger tus archivos y directorios.

I

InSkillCoach

· min

Guía completa de permisos en Linux

Los permisos en Linux son un concepto fundamental para la seguridad del sistema. Determinan quién puede acceder a archivos y directorios, modificarlos o ejecutarlos. Esta guía te explica en detalle cómo funcionan los permisos y cómo gestionarlos de forma eficaz.

Anatomía de los permisos en Linux

Cuando ejecutas el comando ls -l, ves una salida similar a esta:

drwxr-xr-x  2  shum  staff  4096  Jan 16 22:04  mail

Analicemos cada elemento:

1. Tipo de archivo (primer carácter)

  • d: Directorio
  • -: Archivo regular
  • l: Enlace simbólico
  • b: Archivo de dispositivo de bloques
  • c: Archivo de dispositivo de caracteres

2. Permisos (los 9 caracteres siguientes)

Los permisos se dividen en tres grupos de tres caracteres:

  • User (propietario): los 3 primeros caracteres
  • Group (grupo): los 3 caracteres centrales
  • Others (otros): los 3 últimos caracteres

Para cada grupo, los permisos son:

  • r: permiso de lectura (Read)
  • w: permiso de escritura (Write)
  • x: permiso de ejecución (Execute)
  • -: permiso no concedido

3. Número de enlaces

El número de enlaces físicos (hard links) al archivo

4. Propietario y grupo

  • Propietario: el nombre del usuario propietario
  • Grupo: el nombre del grupo propietario

5. Tamaño

El tamaño del archivo en bytes

6. Fecha y hora

La fecha y la hora de la última modificación

7. Nombre del archivo

El nombre del archivo o del directorio

Comprender los valores numéricos

Los permisos también pueden representarse en notación octal:

  • r = 4
  • w = 2
  • x = 1

Ejemplos habituales:

  • chmod 755 = rwxr-xr-x
  • chmod 644 = rw-r--r--
  • chmod 777 = rwxrwxrwx (¡úsalo con precaución!)

Comandos esenciales

Modificar los permisos

# Notación simbólica
chmod u+x fichier    # Añade la ejecución para el usuario
chmod g-w fichier    # Quita la escritura para el grupo
chmod o=r fichier    # Define solo lectura para los demás

# Notación numérica
chmod 755 fichier    # rwxr-xr-x
chmod 644 fichier    # rw-r--r--

Cambiar el propietario

# Cambiar el propietario
chown utilisateur fichier

# Cambiar el propietario y el grupo
chown utilisateur:groupe fichier

Cambiar el grupo

chgrp groupe fichier

Casos de uso prácticos

1. Proteger un script

# Hacer un script ejecutable solo para el propietario
chmod 700 script.sh

# Comprobar los permisos
ls -l script.sh
# Résultat : -rwx------ 1 user group 1234 Jan 21 10:00 script.sh

2. Configurar un directorio compartido

# Crear un directorio compartido para un grupo
mkdir /shared
chown :developers /shared
chmod 775 /shared

3. Proteger archivos sensibles

# Proteger un archivo de configuración
chmod 600 config.conf

# Proteger un directorio .ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

Buenas prácticas

  1. Principio de mínimo privilegio

    • Concede únicamente los permisos necesarios
    • Evita usar 777 salvo en casos excepcionales
  2. Seguridad de los directorios

    • Los directorios necesitan el bit de ejecución (x) para poder atravesarse
    • Usa 755 para los directorios públicos
    • Usa 700 para los directorios privados
  3. Archivos sensibles

    • Usa 600 o 400 para los archivos de configuración
    • Protege especialmente los archivos que contengan secretos
  4. Gestión de grupos

    • Crea grupos para gestionar los accesos
    • Prefiere la gestión por grupo a los permisos “others”

Resolución de problemas habituales

Problema: “Permission Denied”

  1. Comprueba los permisos actuales:
ls -l fichier
  1. Comprueba el propietario y el grupo:
ls -l fichier | awk '{print $3, $4}'
  1. Comprueba a qué grupos perteneces:
groups

Problema: permisos recursivos

Para modificar los permisos de todos los archivos de un directorio:

# ¡Cuidado con el uso de -R!
chmod -R 755 directory/

Conclusión

Dominar los permisos de Linux es esencial para:

  • Proteger tu sistema
  • Resguardar los datos sensibles
  • Gestionar eficazmente los accesos de los usuarios
  • Prevenir modificaciones no autorizadas

Tómate el tiempo de entender y aplicar correctamente los permisos, ya que constituyen la primera línea de defensa de tu sistema Linux.

Recursos adicionales

Recuerda que la seguridad es un proceso continuo. Revisa tus permisos con regularidad y adáptalos a la evolución de tus necesidades.

InSkillCoach

Acerca de InSkillCoach

Experto en formación y tecnologías

Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.

Certificaciones:

  • AWS Certified Solutions Architect – Professional
  • Certificaciones de Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
750
345

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!