chmod en Linux: Guía completa de permisos de archivos (-rw-r–r–) explicada para principiantes

目次

1. Introducción

¿Qué son los permisos de acceso en Linux?

En los sistemas Linux y Unix, gestionar correctamente los permisos de acceso de archivos y directorios es fundamental. Esto es esencial tanto desde la perspectiva de la seguridad como para garantizar una operación estable del sistema.

Muchos usuarios, al listar archivos en la terminal, se han encontrado con símbolos como -rw-r--r-- y se han preguntado: “¿Qué significa esto exactamente?”.

Relación entre chmod y -rw-r–r–

Estos símbolos representan los permisos de un archivo. Para establecer o modificar dichos permisos se utiliza el comando chmod. En otras palabras, al aplicar chmod a un archivo se obtiene una representación como -rw-r--r--.

Objetivo y audiencia de este artículo

En este artículo explicaremos en detalle qué significa -rw-r--r--, cómo configurarlo o modificarlo con chmod, así como las precauciones de seguridad y ejemplos prácticos. El contenido está orientado tanto a principiantes como a usuarios intermedios de Linux que ya están familiarizados con la terminal, con el objetivo de proporcionar un conocimiento aplicable en entornos reales.

2. ¿Qué es chmod? 【Conceptos básicos】

La función del comando chmod

chmod (pronunciado “chomod” o “change mode”) es la abreviatura de change mode. En Linux y sistemas Unix, se utiliza para cambiar los permisos de acceso de archivos y directorios.
Este comando permite controlar de forma flexible quién puede realizar qué operaciones (lectura, escritura o ejecución).

Configurar correctamente los permisos no solo asegura la protección del sistema, sino que también previene errores en la compartición o ejecución de archivos.

Sintaxis básica de chmod

chmod [opciones] [permisos] nombre_de_archivo

Por ejemplo:

chmod 644 sample.txt

Esto cambia los permisos de sample.txt a:

-rw-r--r--  1 user group 1234 Apr 13 20:00 sample.txt
  • Propietario (user): lectura y escritura (rw-)
  • Grupo (group): solo lectura (r–)
  • Otros (others): solo lectura (r–)

Dos formas de especificar permisos: numérica y simbólica

En chmod existen dos métodos para especificar permisos:

  • Modo numérico
  • Ejemplo: chmod 755 script.sh
  • Se asignan permisos mediante valores numéricos a cada tipo de usuario.
  • Modo simbólico
  • Ejemplo: chmod u=rw,g=r,o=r file.txt
  • Se utiliza u (usuario), g (grupo), o (otros) y r (lectura), w (escritura), x (ejecución).

Ambos métodos llegan al mismo resultado, pero el numérico es más rápido y el simbólico más flexible. Conviene elegir según el caso.

Diferencia entre chmod y chown

Un error frecuente es confundir el comando chown con chmod:

  • chmod: modifica los permisos de acceso (lectura, escritura, ejecución)
  • chown: cambia el propietario o el grupo de un archivo/directorio

Ambos tienen propósitos distintos, por lo que es importante diferenciarlos bien.

3. Comprender el significado de -rw-r–r–

Estructura de los permisos

Al ejecutar ls -l en Linux, se muestra información como esta:

-rw-r--r--  1 user group  1234 Apr 13  2025 sample.txt

El primer bloque, -rw-r--r--, representa los permisos de acceso. Saber leerlo permite entender quién puede hacer qué.

Explicación de cada parte

① Primer carácter: tipo de archivo

SímboloSignificado
-Archivo regular
dDirectorio
lEnlace simbólico
bDispositivo de bloque
cDispositivo de caracteres

En -rw-r--r--, el primer - indica que es un archivo regular.

② Siguientes 9 caracteres: permisos (3 × 3)

  • Propietariorw-
    → Lectura y escritura permitidas, ejecución no.
  • Grupor--
    → Solo lectura.
  • Otrosr--
    → Solo lectura.

En resumen, solo el propietario puede modificar, los demás solo pueden leer.

Equivalencia numérica: 644

Los mismos permisos se expresan en notación octal:

-rw-r--r-- equivale a 644.

UsuarioPermisoValorSignificado
Propietariorw-6lectura + escritura
Grupor--4solo lectura
Otrosr--4solo lectura

Los valores provienen de esta suma:

  • Lectura (r) = 4
  • Escritura (w) = 2
  • Ejecución (x) = 1

Por tanto, rw- = 6, r-- = 4, r-- = 4 → total 644.

¿Por qué se usa este permiso?

-rw-r--r-- (644) es común en archivos públicos o estáticos en servidores web (HTML, CSS, etc.) porque:

  • El propietario puede editar → evita modificaciones no deseadas.
  • Los demás tienen permiso de lectura → permite acceso público.

De esta forma se logra un equilibrio entre seguridad y accesibilidad.

4. Cómo configurar -rw-r–r– con chmod 【Práctico】

Cambiar permisos con chmod

Los permisos de un archivo o directorio pueden modificarse con chmod. Para asignar -rw-r--r-- basta usar el valor 644.

Método numérico

Ejemplo:

chmod 644 document.txt

Esto cambia los permisos de document.txt a:

-rw-r--r--  1 user group 1234 Apr 13 20:00 document.txt
  • Propietario: lectura y escritura (rw-)
  • Grupo: solo lectura (r–)
  • Otros: solo lectura (r–)

Método simbólico

Si se necesita mayor flexibilidad, puede usarse el modo simbólico:

chmod u=rw,g=r,o=r document.txt

Equivale exactamente a 644:

  • u=rw → propietario con lectura y escritura
  • g=r → grupo solo lectura
  • o=r → otros solo lectura

Atención al aplicar en directorios

A diferencia de los archivos, los directorios requieren permiso de ejecución (x) para acceder a su contenido.

chmod 644 my_folder

Con esta configuración, no se podrá abrir el directorio.

Configuración correcta:

chmod 755 my_folder
  • Propietario: lectura, escritura y ejecución
  • Grupo y otros: lectura y ejecución

Cambios recursivos con -R

Si se necesita modificar varios archivos y subdirectorios, se usa la opción -R:

chmod -R 644 my_folder

Esto aplica 644 a todos los archivos en my_folder, aunque requiere precaución.

5. Cómo verificar permisos con el comando ls -l

¿Cómo comprobar los permisos de un archivo?

Para revisar los permisos de archivos y directorios en Linux se usa el comando ls -l. Esto significa “long listing format” y muestra permisos, propietario, tamaño, fecha de modificación y más detalles.

Uso básico

ls -l

La salida se ve así:

-rw-r--r--  1 naoya devs  2048 Apr 13 20:00 index.html

Significado de cada campo:

CampoSignificado
-rw-r--r--Permisos de acceso
1Número de enlaces duros (normalmente 1)
naoyaPropietario (usuario)
devsGrupo
2048Tamaño en bytes
Apr 13 20:00Fecha de última modificación
index.htmlNombre del archivo

Cómo leer la columna de permisos

La parte clave es -rw-r--r--. Se interpreta así:

  • Primer carácter: tipo de archivo
    - = archivo regular, d = directorio, l = enlace simbólico
  • 9 caracteres restantes: permisos en bloques de 3
    Usuario: rw- (lectura y escritura)
    Grupo: r-- (solo lectura)
    Otros: r-- (solo lectura)

Esto significa: “el propietario puede editar, los demás solo leer”.

Ver permisos de un archivo específico

ls -l index.html

Esto muestra únicamente la información de ese archivo, útil cuando hay muchos archivos en un directorio.

Ver permisos de un directorio

También se puede aplicar a directorios. Si se quiere listar solo la información del directorio en sí (y no de su contenido), se usa -d:

ls -ld my_folder

Buenas prácticas de verificación

Siempre se recomienda verificar con ls -l después de aplicar chmod. Un ajuste incorrecto puede causar problemas de seguridad o fallos inesperados.

Para filtrar múltiples archivos se puede usar grep:

ls -l | grep '.sh'

Esto mostrará solo los archivos .sh.

6. Usar herramientas gráficas para gestionar permisos (para principiantes)

Alternativa para quienes evitan la terminal

Linux se gestiona principalmente por comandos en terminal, pero no todos los principiantes se sienten cómodos con ello. Para ellos, existen opciones con GUI (interfaz gráfica) para revisar y cambiar permisos.

Administrador de archivos de Ubuntu (Nautilus)

Distribuciones como Ubuntu incluyen Nautilus, equivalente al Explorador de Windows.

Pasos:

  1. Hacer clic derecho en el archivo o directorio
  2. Seleccionar “Propiedades”
  3. Abrir la pestaña “Permisos”

Opciones disponibles:

  • Ver y cambiar propietario y grupo (requiere permisos de administrador)
  • Alternar lectura, escritura y ejecución
  • Ver cambios aplicados inmediatamente

En la GUI los permisos se muestran con palabras claras como “Solo lectura” o “Lectura y escritura”, lo cual facilita su uso.

WinSCP (cliente SFTP para Windows)

Si accedes a un servidor Linux desde Windows, WinSCP permite modificar permisos de forma gráfica.

Pasos:

  1. Inicia sesión en el servidor con WinSCP
  2. Haz clic derecho en el archivo → “Propiedades”
  3. Edita permisos (ej. 644) o usa casillas de verificación
  4. Confirma con “OK”

Ventajas:

  • Muestra permisos tanto en números como en símbolos
  • Permite aplicar cambios recursivos

Nota: Algunos archivos requieren permisos de sudo para modificarse.

WinSCP - Free SFTP and FTP client

WinSCP is a popular free file manager for Windows supporting…

FileZilla (cliente SFTP multiplataforma)

Con FileZilla, disponible para Mac y Linux además de Windows, también se pueden ajustar permisos.

Pasos:

  1. Conéctate al servidor
  2. Clic derecho en el archivo → “Permisos de archivo”
  3. Marca las casillas o cambia el número (ej. 644) y confirma

Ventajas y precauciones de la GUI

Ventajas:

  • Más difícil cometer errores
  • Resultados visibles inmediatamente
  • Amigable para principiantes

Precauciones:

  • No siempre funciona en todos los entornos
  • A veces la interfaz muestra permisos distintos a los efectivos, por lo que conviene verificar con ls -l

FileZilla - The free FTP solution for both client and server…

7. Precauciones y resolución de problemas con chmod

¿Configuraste chmod pero no funciona? Posibles causas

En ocasiones, tras modificar permisos con chmod, un archivo no funciona como se esperaba. Esto suele deberse a configuraciones erróneas o malinterpretación de permisos. A continuación, vemos los problemas más comunes y sus soluciones.

Error “Permission denied”

Síntoma:

bash: ./script.sh: Permission denied

Causa:

  • El archivo no tiene permiso de ejecución (x).

Solución:

chmod +x script.sh

O en modo numérico:

chmod 755 script.sh

Acceso denegado a un directorio

Si aplicas chmod 644 a un directorio, no podrás acceder a su contenido.

Razón: El permiso de ejecución (x) es necesario para “entrar” en un directorio y ver su contenido.

chmod 644 my_folder
ls my_folder

→ Provocará un error.

Solución:

chmod 755 my_folder

Riesgos al usar la opción recursiva (-R)

chmod -R es útil, pero aplica los mismos permisos tanto a archivos como a directorios, lo que puede causar problemas.

Ejemplo incorrecto:

chmod -R 644 /var/www/html

→ Los directorios pierden permisos de ejecución y no se puede acceder a ellos.

Uso correcto:

# Directorios con 755
find /var/www/html -type d -exec chmod 755 {} ;

# Archivos con 644
find /var/www/html -type f -exec chmod 644 {} ;

Errores al combinar con propietario y grupo

No basta con ajustar permisos. Si el propietario o grupo no son los correctos, también habrá errores.

Ejemplo: El usuario apache necesita leer un archivo, pero el propietario es otro usuario y no se dieron permisos de lectura a “otros”.

Soluciones:

  • Cambiar propietario: sudo chown www-data:www-data index.html
  • Dar permisos al grupo: chmod 640 index.html (si el grupo es correcto)

El peligro de 777

Muchos piensan que aplicar 777 soluciona problemas, pero en realidad abre riesgos graves de seguridad.

Riesgos:

  • Cualquiera puede leer, escribir y ejecutar
  • Facilita modificaciones no autorizadas y ataques

Reglas recomendadas:

  • Archivos → 644 o 600
  • Directorios → 755 o 700
  • Scripts o binarios → 755

8. Casos prácticos de uso de chmod

¿Cómo se usan los permisos en la práctica?

Los permisos -rw-r--r-- y el comando chmod son muy comunes en entornos de desarrollo y administración de servidores. A continuación, algunos ejemplos típicos.

1. Publicar archivos HTML en un servidor web

chmod 644 index.html

Razones:

  • El administrador necesita escribir → permiso de escritura
  • El servidor web solo necesita lectura → permiso de lectura
  • No se permite escritura a otros usuarios

2. Dar permisos de ejecución a un script

chmod 755 backup.sh

Significado:

  • Propietario: lectura, escritura y ejecución
  • Grupo y otros: lectura y ejecución

3. Proteger archivos confidenciales

chmod 600 secrets.txt

Resultado:

  • Propietario: lectura y escritura
  • Grupo y otros: sin acceso

Ideal para API keys o contraseñas.

4. Compartir un directorio de forma segura

chmod 770 shared_folder

Resultado:

  • Propietario y grupo: lectura, escritura y ejecución
  • Otros: sin acceso

5. Evitar problemas por permisos incorrectos

Error común:

chmod -R 777 .

Recomendaciones:

  • Usar find para diferenciar entre archivos y directorios
  • Verificar antes con ls -l
  • Probar en un entorno de pruebas primero

9. Preguntas frecuentes (FAQ)

Q1. ¿Cuál es la diferencia entre chmod 644 y -rw-r--r--?

A. No hay diferencia en el significado, solo en la forma de representación.

  • chmod 644: comando para asignar permisos en modo numérico
  • -rw-r--r--: notación simbólica que aparece al ejecutar ls -l

Ambos indican: “el propietario puede leer y escribir, los demás solo leer”.

Q2. ¿Qué ocurre si un archivo no tiene permiso de ejecución?

A. No podrás ejecutar scripts o binarios directamente.

Ejemplo de error:

bash: ./script.sh: Permission denied

Solución:

chmod +x script.sh

Q3. ¿Es correcto aplicar 644 a un directorio?

A. No, normalmente no es adecuado.

Los directorios requieren permiso de ejecución (x) para poder acceder a su contenido.

Configuración recomendada:

chmod 755 nombre_directorio

Q4. ¿Qué precauciones debo tener con chmod -R?

A. Aplica los mismos permisos a archivos y directorios, lo cual puede causar errores.

Ejemplo problemático:

chmod -R 644 my_project/

→ Los directorios pierden permisos de ejecución.

Forma segura:

find my_project/ -type d -exec chmod 755 {} ;
find my_project/ -type f -exec chmod 644 {} ;

Q5. ¿Por qué recibo “Permission denied” aunque cambié permisos?

A. Revisa los siguientes puntos:

  • ¿El archivo requiere ejecución pero no tiene x?
  • ¿Intentas escribir sin ser el propietario?
  • ¿El directorio no tiene permiso de ejecución?
  • ¿El usuario actual carece de privilegios sudo?

Q6. Quiero compartir un archivo sin permitir modificaciones, ¿cómo lo configuro?

A. Usa 644 o 444 según la necesidad.

chmod 644 share.txt
  • 644: otros usuarios pueden leer
  • 444: todos solo lectura

Q7. Me equivoqué en los permisos, ¿cómo los restauro?

A. Compáralos con otro archivo correcto y vuelve a aplicar permisos.

ls -l /ruta/a/archivo_correcto

Documentar la configuración inicial de tu proyecto es una buena práctica.

10. Conclusión

La importancia de comprender chmod y los permisos

En este artículo hemos explorado el comando chmod y la notación -rw-r--r-- en Linux y Unix. Comprenderlos no es solo teoría: es fundamental para la seguridad, eficiencia operativa y correcta gestión de archivos.

Resumen de lo aprendido

  • chmod modifica los permisos de archivos y directorios
  • -rw-r--r-- indica: propietario con lectura y escritura, otros con solo lectura
  • El valor numérico 644 equivale a esa notación simbólica
  • Existen dos modos de configuración: numérico y simbólico
  • Con ls -l puedes verificar permisos
  • También es posible usar herramientas gráficas como Nautilus, WinSCP o FileZilla
  • Errores comunes: “Permission denied”, permisos mal asignados en directorios o abuso de 777
  • La configuración correcta depende del contexto de uso

No existe una configuración universal

La clave es entender que no hay un permiso único válido para todos los casos. Dependerá de:

  • El propósito del archivo
  • El nivel de seguridad necesario
  • Con quién lo compartes

Mensaje final

Al principio, la gestión de permisos puede parecer compleja. Sin embargo, con práctica, chmod se convierte en una herramienta esencial para evitar problemas y garantizar seguridad.
Pregúntate siempre: ¿Quién debe acceder y hasta qué nivel? Con esa mentalidad, podrás administrar tu sistema Linux de forma eficiente y segura.

侍エンジニア塾