Los permisos de archivos Linux son la columna vertebral de la seguridad del sistema. Cada archivo y directorio en un sistema Unix lleva metadatos que determinan quien puede leer, escribir o ejecutar. Ya sea que estes desplegando una aplicacion web, asegurando un servidor o depurando un script de despliegue, comprender el comando chmod y los numeros de permisos es imprescindible. Esta guia completa del calculador chmod cubre todo.
Prueba nuestro calculador chmod interactivo para visualizar permisos al instante.
Chmod Calculator →1. Que Son los Permisos de Archivos Linux?
Cada archivo en Linux tiene tres categorias de usuarios: propietario, grupo y otros. El comando ls -l revela la cadena de permisos.
Cada categoria puede recibir tres tipos de acceso: Lectura (r), Escritura (w) y Ejecucion (x). Estos nueve bits forman el modelo de permisos Unix.
Asi se ve una salida tipica de <code>ls -l</code>:
-rwxr-xr-- 1 alice developers 4096 Feb 20 deploy.sh
Propietario: rwx (7) | Grupo: r-x (5) | Otros: r-- (4)
Permiso: 7542. Entendiendo los Numeros de Permisos (Notacion Octal)
Linux representa cada conjunto de permisos como un digito octal de 0 a 7: Lectura = 4, Escritura = 2, Ejecucion = 1. Un numero de tres digitos como 755 codifica las tres categorias.
Tabla de referencia octal:
| Octal | Simbolico | Significado |
|---|---|---|
0 | --- | No permission |
1 | --x | Execute only |
2 | -w- | Write only |
3 | -wx | Write + Execute |
4 | r-- | Read only |
5 | r-x | Read + Execute |
6 | rw- | Read + Write |
7 | rwx | Read + Write + Execute |
Para calcular un numero completo, calcule cada digito por separado. Ejemplo: propietario lectura+escritura (4+2=6), grupo lectura (4), otros nada (0) da 640.
3. Tabla de Referencia de Permisos chmod
Tabla completa de las combinaciones de permisos chmod mas comunes.
| Octal | Simbolico | Significado | Uso Tipico |
|---|---|---|---|
777 | rwxrwxrwx | Acceso total para todos | Solo depuracion temporal; NUNCA en produccion |
755 | rwxr-xr-x | Propietario total; grupo/otros lectura+ejecucion | Directorios, scripts ejecutables, raiz del servidor web |
750 | rwxr-x--- | Propietario total; grupo lectura+ejecucion; otros nada | Directorios de proyecto compartidos |
700 | rwx------ | Solo propietario acceso total | Directorio ~/.ssh, scripts privados |
666 | rw-rw-rw- | Lectura+escritura para todos; sin ejecucion | Poco usado; archivos compartidos temporales |
644 | rw-r--r-- | Propietario lectura+escritura; grupo/otros lectura | Archivos HTML, CSS, PHP, configuraciones |
640 | rw-r----- | Propietario lectura+escritura; grupo lectura; otros nada | Archivos de log, configs sensibles |
600 | rw------- | Solo propietario lectura+escritura | Claves SSH privadas, archivos .env, credenciales |
400 | r-------- | Solo propietario lectura | Certificados SSL, secretos de solo lectura |
775 | rwxrwxr-x | Propietario total; grupo total; otros lectura+ejecucion | Directorios de subida compartidos |
4. Como Usar el Comando chmod
El comando chmod cambia los permisos. Soporta modo numerico (octal) y modo simbolico.
Modo Numerico
En modo numerico, proporcionas un numero octal de tres o cuatro digitos:
chmod 755 script.sh # rwxr-xr-x
chmod 644 config.json # rw-r--r--
chmod 600 id_rsa # rw-------
chmod 400 cert.pem # r--------
chmod -R 755 /var/www/html # Recursive on directoryModo Simbolico
Modo simbolico usa la sintaxis chmod [ugoa][+-=][rwxXst]:
- Quien: u (propietario), g (grupo), o (otros), a (todos)
- Operador: + (agregar), - (quitar), = (establecer exactamente)
- Permiso: r (lectura), w (escritura), x (ejecucion)
chmod u+x script.sh # Add execute for owner
chmod g-w file.txt # Remove write from group
chmod o+r document.pdf # Add read for others
chmod a+x run.sh # Add execute for all
chmod u=rwx,go=rx dir/ # Owner=rwx, group+others=rx (755)
chmod go-rwx secret.key # Remove all from group+otherschmod Recursivo
Usa chmod -R para cambios recursivos:
# Set directories to 755 and files to 644 (web server standard)
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
# Make all .sh files executable
find /opt/scripts -name "*.sh" -exec chmod 755 {} \;Usa nuestro calculador chmod para generar el comando exacto:
5. Patrones chmod Comunes para Desarrolladores
Diferentes tipos de archivos requieren permisos especificos. Aqui esta la referencia definitiva.
Archivos de Servidor Web
Estandar: 644 para archivos, 755 para directorios:
# Web server document root
chmod 755 /var/www/html
chmod 644 /var/www/html/index.html
chmod 644 /var/www/html/style.css
chmod 644 /var/www/html/.htaccess
# PHP / application files
chmod 644 /var/www/html/app/*.php
chmod 755 /var/www/html/app/storageScripts y Ejecutables
755 para scripts compartidos, 700 para privados:
# Shared executable scripts
chmod 755 deploy.sh
chmod 755 /usr/local/bin/my-tool
# Private scripts (owner only)
chmod 700 backup-db.sh
chmod 700 cleanup.shClaves y Configuracion SSH
SSH es muy estricto con los permisos:
chmod 700 ~/.ssh # SSH directory
chmod 600 ~/.ssh/id_rsa # Private key
chmod 600 ~/.ssh/id_ed25519 # Private key (Ed25519)
chmod 644 ~/.ssh/id_rsa.pub # Public key
chmod 600 ~/.ssh/authorized_keys # Authorized keys
chmod 600 ~/.ssh/config # SSH config fileArchivos de Entorno y Secretos
Archivos con claves API deben estar restringidos al propietario:
chmod 600 .env # Environment variables
chmod 600 .env.production # Production secrets
chmod 600 database.yml # Database credentials
chmod 600 credentials.json # API credentials
chmod 400 ssl-cert.pem # SSL certificate (read-only)Directorios de Subida
Los directorios de subida necesitan escritura de grupo:
chmod 775 /var/www/html/uploads
chmod 775 /var/www/html/tmp
chmod 775 /var/www/html/cache
# Ensure web server group owns the directory
# chown www-data:www-data /var/www/html/uploads6. Permisos Especiales: setuid, setgid, Sticky Bit
Ademas de los nueve bits estandar, Linux soporta tres bits especiales.
El proceso se ejecuta con los permisos del propietario del archivo. Ejemplo: /usr/bin/passwd.
En directorios, los nuevos archivos heredan el grupo del directorio automaticamente.
Solo el propietario o root pueden eliminar archivos. Ejemplo: /tmp (1777).
Establecer permisos especiales:
# SUID: run as file owner
chmod 4755 /usr/bin/passwd
chmod u+s /usr/bin/my-tool
# SGID: inherit group on directory
chmod 2755 /shared/project
chmod g+s /shared/project
# Sticky Bit: prevent deletion by others
chmod 1777 /tmp
chmod +t /shared/uploads
# Combine: SGID + standard permissions
chmod 2775 /team/shared-dir
# Find files with special permissions
find / -perm -4000 -type f 2>/dev/null # Find SUID files
find / -perm -2000 -type f 2>/dev/null # Find SGID files
find / -perm -1000 -type d 2>/dev/null # Find sticky dirs7. Mejores Practicas para Permisos de Archivos
Los permisos son una capa critica de defensa.
Sigue el principio de minimo privilegio. Otorga solo los permisos minimos necesarios.
Nunca uses chmod 777 en produccion. Da acceso total a todos.
Audita permisos regularmente. Usa find / -perm -777 -type f.
Usa grupos en lugar de permisos world-readable.
Cuidado con chmod recursivo. Verifica siempre la ruta.
Documenta tus requisitos de permisos.
Usa umask para valores predeterminados seguros. Establece umask 027.
Usa nuestro calculador chmod para determinar rapidamente los permisos correctos.
8. Preguntas Frecuentes
Que significa chmod 755?
chmod 755 da al propietario acceso total (rwx = 7) y al grupo y otros acceso de lectura y ejecucion (r-x = 5). Es el permiso estandar para scripts ejecutables y directorios.
Cual es la diferencia entre chmod 755 y 644?
chmod 755 (rwxr-xr-x) otorga ejecucion a todos -- para directorios y scripts. chmod 644 (rw-r--r--) elimina ejecucion y solo otorga escritura al propietario -- para archivos regulares.
Como verifico los permisos en Linux?
Ejecuta ls -la para ver permisos detallados. Usa stat para informacion mas completa.
Cual es el permiso mas seguro?
Practicamente, 400 (solo lectura) o 600 (lectura+escritura solo propietario) son los mas restrictivos utiles.
Puedo usar chmod en Mac?
Si. macOS esta basado en BSD Unix y soporta completamente chmod con la misma sintaxis que Linux.
Calcula valores chmod exactos con nuestro calculador gratuito en linea.
Chmod Calculator →