Oh MyUtils

Calculadora Chmod - Calculadora de Permisos Unix Online

Calcula permisos de archivos Linux/Unix con matriz interactiva. Convierte entre formatos chmod octal (755, 644) y simbólico (rwxr-xr-x).

Cuadrícula de Permisos

Leer (r)Escribir (w)Ejecutar (x)#
Propietario (u)
7
Grupo (g)
5
Otros (o)
5
Especial
SetUID
SetGID
Sticky

Comando chmod

$ chmod 755 filename

Seguridad

Precaución

Otros tienen ejecución o grupo tiene escritura+ejecución

Vista previa ls -l

$ ls -l -rwxr-xr-x 1 user group 4096 Feb 13 10:00 filename

Presets Comunes

Preguntas Frecuentes

¿Qué es chmod y qué hace?

chmod (change mode) es un comando de Unix/Linux que se usa para cambiar los permisos de acceso a archivos y directorios. Controla quién puede leer, escribir o ejecutar un archivo. Los permisos se establecen para tres clases de usuarios: el propietario del archivo, el grupo y todos los demás usuarios.

¿Cómo uso esta calculadora de chmod?

Haga clic en las casillas de la cuadrícula de permisos para alternar permisos individuales para Propietario, Grupo y Otros. Alternativamente, escriba un valor octal (por ejemplo, 755) en el campo de entrada numérica. La herramienta convierte instantáneamente entre notación octal, simbólica y la cuadrícula visual. Copie el comando chmod generado y péguelo en su terminal.

¿Mis datos están seguros? ¿Se envían a un servidor?

Completamente seguro. Esta calculadora de chmod se ejecuta 100% en su navegador usando JavaScript del lado del cliente. Ningún dato se transmite a ningún servidor. Todos los cálculos usan aritmética de bits simple realizada localmente.

¿Cuál es la diferencia entre notación octal y simbólica?

La notación octal usa números (por ejemplo, 755) donde cada dígito representa permisos para propietario, grupo y otros respectivamente. Cada dígito es la suma de lectura (4), escritura (2) y ejecución (1). La notación simbólica usa letras (por ejemplo, rwxr-xr-x) donde r = lectura, w = escritura, x = ejecución y - = sin permiso.

¿Qué hacen setuid, setgid y sticky bit?

Son bits de permisos especiales que modifican el comportamiento de archivos y directorios. SetUID (4000) hace que un ejecutable se ejecute con los privilegios del propietario del archivo. SetGID (2000) hace que un ejecutable se ejecute con los privilegios del grupo del archivo. Sticky Bit (1000) en un directorio evita que los usuarios eliminen archivos que no les pertenecen.

¿Qué valor chmod debo usar para los archivos de mi servidor web?

Para la mayoría de servidores web: use 644 (rw-r--r--) para archivos regulares (HTML, CSS, PHP) y 755 (rwxr-xr-x) para directorios y scripts ejecutables. Nunca use 777 en un servidor de producción.

¿Por qué es peligroso chmod 777?

chmod 777 otorga permisos de lectura, escritura y ejecución a todos. Esto significa que cualquier usuario o proceso puede modificar o eliminar el archivo. En un servidor web, esto podría permitir a los atacantes inyectar código malicioso. Use los permisos más restrictivos que permitan que su aplicación funcione correctamente.

Ejemplos de Código

// Unix file permission calculator in JavaScript

const PERM = {
  OWNER_R: 0o400, OWNER_W: 0o200, OWNER_X: 0o100,
  GROUP_R: 0o040, GROUP_W: 0o020, GROUP_X: 0o010,
  OTHER_R: 0o004, OTHER_W: 0o002, OTHER_X: 0o001,
  SETUID:  0o4000, SETGID: 0o2000, STICKY: 0o1000,
};

function octalToSymbolic(octal) {
  const chars = [];
  chars.push(octal & PERM.OWNER_R ? 'r' : '-');
  chars.push(octal & PERM.OWNER_W ? 'w' : '-');
  if (octal & PERM.SETUID) {
    chars.push(octal & PERM.OWNER_X ? 's' : 'S');
  } else {
    chars.push(octal & PERM.OWNER_X ? 'x' : '-');
  }
  chars.push(octal & PERM.GROUP_R ? 'r' : '-');
  chars.push(octal & PERM.GROUP_W ? 'w' : '-');
  if (octal & PERM.SETGID) {
    chars.push(octal & PERM.GROUP_X ? 's' : 'S');
  } else {
    chars.push(octal & PERM.GROUP_X ? 'x' : '-');
  }
  chars.push(octal & PERM.OTHER_R ? 'r' : '-');
  chars.push(octal & PERM.OTHER_W ? 'w' : '-');
  if (octal & PERM.STICKY) {
    chars.push(octal & PERM.OTHER_X ? 't' : 'T');
  } else {
    chars.push(octal & PERM.OTHER_X ? 'x' : '-');
  }
  return chars.join('');
}

// Example usage
const perm = 0o755;
console.log(`Octal: ${perm.toString(8)}`);
console.log(`Symbolic: ${octalToSymbolic(perm)}`);
console.log(`Command: chmod ${perm.toString(8)} myfile.sh`);

Herramientas relacionadas