Calculadora chmod
Convierte entre permisos UNIX numéricos y simbólicos.
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
644para archivos y755para directorios antes de cambiar nada conchmod -R. - Solucionar «permission denied». Decodifique el resultado de
ls -la 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
Elumask 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?
/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?
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?
/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.