En este artículo
Que es chmod?
chmod (change mode) es un comando Unix y Linux que establece los permisos de archivos y directorios. Cada archivo en un sistema Unix tiene tres categorias de permisos: propietario, grupo y otros. Cada categoria puede recibir independientemente permisos de lectura, escritura y ejecucion.
Comprender chmod es esencial para la administracion de sistemas, la configuracion de servidores web y la gestion segura de archivos. Los permisos incorrectos son una de las causas mas comunes de vulnerabilidades de seguridad en servidores Linux.
Como funcionan los permisos chmod
Los permisos pueden expresarse en dos notaciones: numerica (octal) y simbolica. La notacion numerica usa tres digitos (ej. 755).
- Lectura (r = 4) — ver el contenido del archivo o listar entradas del directorio
- Escritura (w = 2) — modificar el contenido del archivo o agregar/eliminar archivos en un directorio
- Ejecucion (x = 1) — ejecutar un archivo como programa o entrar en un directorio con cd
Cada digito es la suma de sus permisos: 7 = lectura + escritura + ejecucion (4+2+1), 6 = lectura + escritura (4+2), 5 = lectura + ejecucion (4+1), 4 = solo lectura.
Pruébalo gratis — sin registro
Calcular permisos chmod →Valores de permisos comunes
Estos son los valores chmod mas frecuentemente utilizados y sus aplicaciones tipicas.
- 755 (rwxr-xr-x) — estandar para archivos ejecutables y directorios
- 644 (rw-r--r--) — estandar para archivos regulares
- 700 (rwx------) — directorio o script privado; solo el propietario tiene acceso
- 600 (rw-------) — archivo privado como claves SSH; solo el propietario puede leer y escribir
- 777 (rwxrwxrwx) — acceso completo para todos; casi nunca apropiado y es un riesgo de seguridad
Implicaciones de seguridad
El principio de minimo privilegio se aplica directamente a los permisos de archivos: otorgue solo los permisos minimos necesarios.
Los bits de permisos especiales anaden otra capa: SUID, SGID y el sticky bit en directorios impiden que los usuarios eliminen archivos que no les pertenecen.
Consejos y mejores practicas
Siga estas directrices para mantener permisos seguros y funcionales.
- Los directorios necesitan permiso de ejecucion — sin el, los usuarios no pueden entrar al directorio
- Use chmod recursivo con cuidado — chmod -R 755 hace todos los archivos ejecutables; use find con -type f y -type d por separado
- Establezca valores por defecto de umask — umask 022 crea archivos como 644 y directorios como 755
Preguntas frecuentes
Cual es la diferencia entre 755 y 777?
Con 755, el propietario tiene control total mientras que grupo y otros solo pueden leer y ejecutar. Con 777, todos tienen control total. Usar 777 casi nunca es necesario y crea un riesgo de seguridad significativo.
Por que los directorios necesitan permiso de ejecucion?
El bit de ejecucion en un directorio controla la capacidad de atravesarlo. Sin permiso de ejecucion, un usuario no puede entrar al directorio. Por eso los directorios tipicamente tienen 755 mientras los archivos tienen 644.
Cuales son los permisos por defecto para archivos nuevos?
Los permisos por defecto dependen de la configuracion umask. Con el umask comun de 022, los archivos nuevos se crean con 644 y los directorios nuevos con 755.