DevToolBoxGRATIS
Blog

Permisos de Archivos Linux Explicados: Guia Completa del Calculador chmod

12 min de lecturapor DevToolBox

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: 754

2. 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:

OctalSimbolicoSignificado
0---No permission
1--xExecute only
2-w-Write only
3-wxWrite + Execute
4r--Read only
5r-xRead + Execute
6rw-Read + Write
7rwxRead + 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.

OctalSimbolicoSignificadoUso Tipico
777rwxrwxrwxAcceso total para todosSolo depuracion temporal; NUNCA en produccion
755rwxr-xr-xPropietario total; grupo/otros lectura+ejecucionDirectorios, scripts ejecutables, raiz del servidor web
750rwxr-x---Propietario total; grupo lectura+ejecucion; otros nadaDirectorios de proyecto compartidos
700rwx------Solo propietario acceso totalDirectorio ~/.ssh, scripts privados
666rw-rw-rw-Lectura+escritura para todos; sin ejecucionPoco usado; archivos compartidos temporales
644rw-r--r--Propietario lectura+escritura; grupo/otros lecturaArchivos HTML, CSS, PHP, configuraciones
640rw-r-----Propietario lectura+escritura; grupo lectura; otros nadaArchivos de log, configs sensibles
600rw-------Solo propietario lectura+escrituraClaves SSH privadas, archivos .env, credenciales
400r--------Solo propietario lecturaCertificados SSL, secretos de solo lectura
775rwxrwxr-xPropietario total; grupo total; otros lectura+ejecucionDirectorios 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 directory

Modo 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+others

chmod 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:

Chmod Calculator →

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/storage

Scripts 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.sh

Claves 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 file

Archivos 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/uploads

6. Permisos Especiales: setuid, setgid, Sticky Bit

Ademas de los nueve bits estandar, Linux soporta tres bits especiales.

setuid (SUID) -- 4000

El proceso se ejecuta con los permisos del propietario del archivo. Ejemplo: /usr/bin/passwd.

setgid (SGID) -- 2000

En directorios, los nuevos archivos heredan el grupo del directorio automaticamente.

Sticky Bit -- 1000

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 dirs

7. 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 →
Consulta tambien nuestro generador htaccess para configuracion Apache.Necesitas una contrasena segura? Prueba nuestro generador de contrasenas.
𝕏 Twitterin LinkedIn
¿Fue útil?

Mantente actualizado

Recibe consejos de desarrollo y nuevas herramientas.

Sin spam. Cancela cuando quieras.

Prueba estas herramientas relacionadas

🔐Chmod Calculator.ht.htaccess Generator🔑Password Generator

Artículos relacionados

Permisos de archivos Linux explicados: chmod 777, 755, 644 y más

Entiende los permisos de archivos Linux, comandos chmod y notación octal.

Linux chmod, chown y chgrp: Guía de permisos de archivos

Guía completa de permisos Linux: chmod numérico y simbólico, chown, chgrp, permisos especiales y ACLs.

SSH Keygen: Guía Ed25519 vs RSA

Genera claves SSH con ssh-keygen. Comparación Ed25519 vs RSA, tamaños de clave y mejores prácticas.