Los permisos de archivos de Linux y macOS deciden quién puede leer, escribir y ejecutar cada archivo. Se muestran de dos formas: como números del tipo 755 en los comandos chmod, y como letras del tipo rwxr-xr-x en la salida de ls -l. Esta calculadora convierte entre ambas, explica qué puede hacer cada grupo de usuarios y escribe el comando chmod por ti.
Cómo funciona
Los permisos se dividen en tres conjuntos: el propietario del archivo, su grupo y todos los demás. Cada conjunto tiene tres bits: lectura (r = 4), escritura (w = 2) y ejecución (x = 1). Suma los bits que quieras para cada conjunto y obtendrás un dígito de 0 a 7.
Así, 7 = 4 + 2 + 1 = rwx, 5 = 4 + 1 = r-x y 4 = r--. Los tres dígitos juntos, propietario, grupo y demás, forman el modo: 754 significa rwxr-xr--.
En una carpeta, ejecución significa permiso para entrar en ella y llegar a los archivos que contiene, y lectura significa permiso para listar su contenido. Una carpeta normalmente necesita x además de r para ser útil.
Un cuarto dígito opcional al principio define bits especiales: 4 es setuid, 2 es setgid y 1 es el sticky bit. Aparecen como s o t en lugar de x. /tmp suele usar el sticky bit para que los usuarios no puedan borrarse los archivos entre sí.
Un ejemplo resuelto
Para un script de despliegue que quieres ejecutar tú, dejar que tu equipo lo lea y ocultar al resto, usa 754. El propietario recibe 7 (lectura, escritura, ejecución), el grupo recibe 5 (lectura, ejecución) y los demás reciben 4 (solo lectura). En forma simbólica es rwxr-xr--, y el comando es chmod 754 deploy.sh.
Más ejemplos
chmod 600 da al propietario lectura y escritura y a nadie más nada (rw-------), el ajuste habitual para claves privadas y archivos de secretos.
Errores frecuentes
- Usar 777 para arreglar un error de permisos.
- Olvidar que los directorios necesitan permiso de ejecución para poder entrar en ellos.
- Cambiar los permisos de los archivos pero no los del directorio que los contiene.
- Ignorar los bits setuid y setgid en los modos de cuatro dígitos.
Preguntas frecuentes
¿Qué significa chmod 755?
El propietario puede leer, escribir y ejecutar; el grupo y todos los demás pueden leer y ejecutar. Es el ajuste habitual para scripts, programas y carpetas web: rwxr-xr-x.
¿Qué significa chmod 644?
El propietario puede leer y escribir; todos los demás solo pueden leer: rw-r--r--. Es el valor por defecto habitual para archivos normales, como páginas web y archivos de configuración que no necesitan ejecutarse.
¿Por qué es peligroso chmod 777?
Permite que cualquier usuario del sistema lea, cambie y ejecute el archivo. En un servidor, eso puede dejar que un proceso comprometido u otro usuario altere tu código. Concede solo lo necesario, como 755 o 644.
¿Qué permisos debe tener una clave privada SSH?
600 (rw-------): legible y escribible solo por el propietario. Los clientes SSH se niegan a usar una clave privada que otros usuarios puedan leer.
¿Cómo cambio los permisos de una carpeta y de todo lo que contiene?
Añade -R: chmod -R 755 carpeta. Ten cuidado, porque da el mismo modo a archivos y carpetas. Un enfoque habitual es 755 para las carpetas y 644 para los archivos, definidos por separado con find.