¿Qué son los permisos de archivos en Linux?

Los permisos de archivos en Linux controlan quién puede leer, escribir o ejecutar un archivo o directorio. Cada archivo en Linux tiene tres grupos de permisos: propietario (el usuario que lo creó), grupo (usuarios que comparten un grupo común) y otros (todos los demás). A cada grupo se le pueden otorgar tres tipos de acceso: lectura (r), escritura (w) y ejecución (x).

Los permisos pueden expresarse en dos notaciones. La notación simbólica utiliza letras como rwxr-xr-x, donde cada carácter representa un permiso específico para un grupo específico. La notación octal (numérica) utiliza un número de tres o cuatro dígitos como 755, donde cada dígito es la suma de los valores de los permisos: lectura = 4, escritura = 2, ejecución = 1.

Un dígito inicial opcional en la notación octal representa los bits especiales: setuid (4), setgid (2) y sticky bit (1). Setuid permite que un programa se ejecute con los privilegios del propietario del archivo, setgid hace que los nuevos archivos hereden el grupo del directorio padre, y el sticky bit impide que los usuarios eliminen archivos que no les pertenecen en directorios compartidos.

Descripción de la herramienta

Esta herramienta te permite construir y decodificar permisos de archivos de Linux de forma interactiva. Activa las casillas de verificación para propietario, grupo y otros para establecer los indicadores de lectura, escritura y ejecución, y ve el resultado al instante tanto en notación octal como simbólica. También puedes escribir un valor octal como 755 o una cadena simbólica como rwxr-xr-x directamente, y las casillas de verificación y la salida visual se actualizan automáticamente. Una visualización con código de colores facilita entender de un vistazo qué permisos están activos, y se genera automáticamente un comando chmod listo para usar.

Ejemplos

Octal Simbólico Significado
755 -rwxr-xr-x Propietario: acceso completo. Grupo y otros: lectura y ejecución.
644 -rw-r--r-- Propietario: lectura y escritura. Grupo y otros: solo lectura.
700 -rwx------ Propietario: acceso completo. Sin acceso para grupo ni otros.
777 -rwxrwxrwx Acceso completo para todos.
1755 -rwxr-xr-t Igual que 755 con sticky bit activado.
4755 -rwsr-xr-x Igual que 755 con bit setuid activado.

Características

  • Activa permisos individuales de lectura, escritura y ejecución por grupo mediante casillas de verificación
  • Introduce notación octal (p. ej. 755) o simbólica (p. ej. rwxr-xr-x) directamente y ve la conversión al instante
  • Bloques visuales con código de colores para reconocer rápidamente los permisos activos
  • Compatibilidad con bits de permisos especiales: setuid, setgid y sticky bit
  • Comando chmod generado automáticamente, listo para copiar y usar en una terminal

Casos de uso

  • Configuración de un servidor web: Determina rápidamente el conjunto de permisos correcto para los archivos servidos por Apache o Nginx, como 644 para archivos estáticos y 755 para scripts ejecutables.
  • Depuración de errores de acceso denegado: Pega la cadena de permisos de la salida de ls -l para entender visualmente a qué grupo le falta acceso.
  • Aprender permisos de Linux: Explora de forma interactiva cómo la activación de indicadores individuales cambia las representaciones octal y simbólica.

Cómo funciona

Cada tipo de permiso tiene un peso numérico: lectura = 4, escritura = 2, ejecución = 1. El dígito octal de un grupo es la suma de los pesos de los permisos habilitados. Por ejemplo, lectura + ejecución = 4 + 1 = 5. La notación octal completa concatena los dígitos del propietario, grupo y otros — por lo que rwxr-xr-x se convierte en 755.

Los bits especiales añaden un dígito inicial opcional calculado de la misma manera: setuid = 4, setgid = 2, sticky = 1. Un valor de 1755 significa sticky bit (1) más propietario=7, grupo=5, otros=5.

Explicación de las opciones

  • Casillas de verificación de Propietario / Grupo / Otros: Activa lectura (r), escritura (w) y ejecución (x) para cada grupo de permisos de forma independiente.
  • Setuid: Cuando se establece en un ejecutable, se ejecuta con los privilegios del propietario del archivo en lugar de los del usuario que lo invoca.
  • Setgid: En un directorio, los nuevos archivos heredan el grupo del directorio. En un ejecutable, se ejecuta con los privilegios del grupo del archivo.
  • Sticky bit: En un directorio, solo el propietario del archivo puede eliminar o renombrar los archivos que contiene, incluso si otros tienen permiso de escritura.
  • Entrada octal: Escribe un número octal de 3 o 4 dígitos para establecer todos los permisos a la vez.
  • Entrada simbólica: Escribe una cadena simbólica de 9 o 10 caracteres (con prefijo de tipo de archivo opcional) para establecer los permisos.

Preguntas frecuentes

¿Qué significa chmod 777? Otorga permisos de lectura, escritura y ejecución al propietario, al grupo y a todos los demás usuarios. Esto es generalmente inseguro para sistemas en producción.

¿Cuál es la diferencia entre la s minúscula y la S mayúscula? La s minúscula significa que tanto el bit de ejecución como el bit especial (setuid o setgid) están activados. La S mayúscula significa que solo el bit especial está activado, sin permiso de ejecución.

¿Para qué se usa el sticky bit? El sticky bit se establece habitualmente en directorios compartidos como /tmp para evitar que los usuarios eliminen o renombren los archivos de otros, aunque todos tengan acceso de escritura al directorio.