Encoders & Utilities

Calculadora chmod

Convierte entre permisos UNIX numéricos y simbólicos.

Permissions Type octal (e.g. 755 or 4755) or symbolic (rwxr-xr-x).
-rwxr-sr-x
chmod 2755
Octal
2755
Symbolic
-rwxr-sr-x
Binary
111 101 101
Permission matrix
Read
Write
Execute
Owner
r
w
x
Group
r
·
x
Other
r
·
x
Special bits
setuid
Run as file owner. Common on /usr/bin/passwd.
setgid
Inherit group on directories. Used in shared folders.
sticky
Only owner can delete. Used on /tmp.

Sobre esta herramienta

Chmod Calculator traduce entre las tres formas de expresar permisos de archivo UNIX: octal (755, 644), simbólica (rwxr-xr-x, rw-r--r--) y modo simbólico (u=rwx,go=rx, la forma que el propio chmod acepta como entrada). Marque las casillas de lectura/escritura/ejecución para propietario/grupo/otros y las tres representaciones se actualizan a la vez, con el comando chmod equivalente mostrado listo para copiar.

También se admiten los bits especiales: setuid (4000), setgid (2000) y sticky (1000) — los bits que convierten /tmp en un directorio compartido en el que los usuarios no pueden eliminar archivos de otros (sticky) y que permiten a binarios como passwd escalar privilegios (setuid). La pantalla anota cada uno con su implicación de seguridad para que sepa lo que está a punto de aplicar.

Cuándo utilizar esta herramienta

  • Hardening de árboles de archivos de servidor web. Confirme 644 para archivos y 755 para directorios antes de cambiar nada con chmod -R.
  • Solucionar «permission denied». Decodifique el resultado de ls -l a octal para compararlo con lo que su app espera.
  • Configurar directorios compartidos. Obtenga la combinación de bit sticky correcta (1777) para una carpeta de subida multiusuario.
  • Aprender permisos UNIX. Las casillas interactivas de bits son la forma más rápida de entender cómo el octal se mapea a rwx.

Sobre umask y permisos por defecto

El umask es la inversa de la salida de la calculadora — le dice al kernel qué bits desactivar al crear un archivo o directorio nuevo. Un umask 022 común le da archivos 644 y directorios 755 por defecto; un umask 077 más estricto da archivos 600 y directorios 700 (privados al propietario). Elegir el umask correcto a nivel de sistema es más eficiente que hacer chmod a cada archivo individualmente.

Preguntas frecuentes

¿Cuál es la diferencia entre 644 y 755?

644 es «el propietario lee/escribe, todos los demás solo leen» — el valor por defecto adecuado para archivos estáticos (HTML, CSS, imágenes). 755 añade ejecución para todos, lo cual no tiene sentido para archivos estáticos pero es esencial para directorios (sin ejecución en un directorio, no puede hacer cd a él) y para scripts/binarios. Regla práctica: 644 para archivos, 755 para directorios.

¿Qué hace realmente setuid?

Le dice al kernel «cuando este binario se ejecute, ejecútalo como el propietario del archivo, no como el usuario que lo invoca». /usr/bin/passwd tiene setuid root para que un usuario normal pueda cambiar su contraseña (lo que requiere escribir en /etc/shadow). Es un permiso potente pero peligroso; solo los binarios del sistema deberían tenerlo, nunca scripts de usuario. Los shell scripts ignoran setuid por motivos de seguridad en UNIX modernos.

¿Por qué se necesita ejecución en directorios?

En un directorio, el bit de ejecución significa «puede entrar (traversar) este directorio». Sin ejecución no puede hacer cd a la carpeta, listar su contenido (con ls también se necesita lectura) ni leer ningún archivo dentro aunque tengan permiso de lectura. Un directorio con modo solo lectura (444) está roto — puede ver los nombres pero no puede hacer stat sobre ninguno.

¿Para qué sirve el bit sticky?

En un directorio significa «solo el propietario del archivo (o root) puede eliminarlo o renombrarlo». /tmp usa 1777 — todos pueden escribir, pero solo puede eliminar sus propios archivos. Sin sticky, cualquiera podría hacer rm a los temporales de otros. El bit viene de un uso legado en ejecutables (mantenían el texto en swap), ahora obsoleto en archivos; en directorios sigue siendo muy útil.