La respuesta corta: qué sintaxis usar según tu caso
Para la mayoría de casos usa sudo chown usuario:grupo archivo en sistemas de archivos POSIX. Así cambias propietario y grupo a la vez y evitas dejar uno desactualizado. Verifica antes con ls -l y id usuario.
Si solo necesitas tocar el grupo, usa sudo chown :grupo archivo. Es equivalente a chgrp y no altera el propietario. Si copias la propiedad de otro archivo, usa sudo chown --reference=archivo_ref archivo.
Para carpetas completas, usa sudo chown -R usuario:grupo directorio con --preserve-root y comprobando antes con find o ls -R para no afectar enlaces inesperados.
Tres perfiles con su opción:
- Web y despliegues en servidor:
usuario:grupoexplícito, por ejemplowww-data:www-dataen/var/www, para que el servicio lea sin dar permisos de más. - Equipo compartido: solo grupo
chown :proyectopara dar acceso al equipo sin ceder la titularidad del archivo. - Migración o restauración:
--referenceo--from=antiguo:nuevocon-Rpara alinear todo un árbol sin escribir cada usuario a mano.
Qué necesitas antes de tocar la propiedad
Cambiar el propietario a otro usuario solo puede hacerlo root. En Ubuntu, Debian, Fedora y otras distribuciones necesitas sudo. Sin privilegios verás Operation not permitted. Cambiar solo el grupo a uno al que perteneces puede permitirse sin ser root, según la configuración, pero lo habitual es usar sudo para evitar errores.
Comprueba que usuario y grupo existen antes de ejecutar el comando. Usa id nombre_usuario para ver UID y grupos, y getent passwd nombre_usuario y getent group nombre_grupo para confirmar que la base de usuarios los reconoce. Si no existen, chown devuelve invalid user o invalid group.
Verifica el sistema de archivos. chown funciona en ext4, XFS, btrfs y otros POSIX. En FAT32, exFAT o NTFS montado sin mapeo de usuarios no hay propietario POSIX real y el cambio no se guarda.
Haz un ls -l archivo y ls -ld directorio previo. Anota propietario, grupo y si hay enlace simbólico. En directorios grandes, lista una muestra con ls -lR | head para no perder la referencia.
Checklist rápido:
- Tienes
sudoo acceso root. - Usuario y grupo existen y conoces su nombre exacto o UID:GID numérico.
- Ruta correcta y sin errores de escritura.
- Copia o instantánea si tocas un árbol con
-R.
Cómo se usa chown según lo que quieras cambiar
La elección depende de si cambias usuario, grupo, ambos, si actúas sobre un árbol o sobre un enlace. Esta tabla resume cada variante con sintaxis y comportamiento real.
| Método | Sintaxis exacta | Ámbito | Necesita sudo | Actúa sobre symlink o destino | Riesgo principal |
|---|---|---|---|---|---|
| Solo propietario | chown usuario archivo |
Un archivo o directorio | Sí, para ceder a otro usuario | Destino | Dejar grupo antiguo sin acceso |
| Solo grupo | chown :grupo archivo |
Un archivo o directorio | Sí en la mayoría de casos | Destino | Cambiar grupo y perder acceso del grupo anterior |
| Propietario y grupo | chown usuario:grupo archivo |
Un archivo o directorio | Sí | Destino | Error de escritura en usuario o grupo |
| Recursivo | chown -R usuario:grupo dir |
Todo el árbol | Sí | Destino por defecto | Afectar miles de archivos sin vuelta atrás |
| Symlink sin seguir | chown -h usuario:grupo enlace |
Solo el enlace | Sí | Enlace | Ninguno si se usa -h a conciencia |
| Copiar referencia | chown --reference=ref archivo |
Archivo destino | Sí | Destino | Copiar un propietario incorrecto si la referencia está mal |
| Condicional | chown --from=actual nuevo archivo |
Archivos que coinciden con actual | Sí | Destino | No cambia nada si el filtro no coincide |
Datos comprobados en septiembre de 2026.
Sintaxis base y separador : frente a .
El patrón de chown documentado en GNU coreutils chown es chown [OPCIÓN]... [PROPIETARIO][:[GRUPO]] ARCHIVO... y en man chown se describe igual. PROPIETARIO puede ser nombre o UID numérico, GRUPO nombre o GID numérico.
Las formas válidas son:
| Forma | Qué hace | Ejemplo |
|---|---|---|
usuario |
Cambia solo propietario | chown ana informe.pdf |
usuario:grupo |
Cambia propietario y grupo | chown ana:conta informe.pdf |
:grupo |
Cambia solo grupo | chown :conta informe.pdf |
usuario: |
Cambia propietario y asigna su grupo principal | chown ana: informe.pdf |
UID:GID |
Usa números | chown 1001:1002 informe.pdf |
El separador documentado es : . El punto . se acepta en algunas versiones por compatibilidad histórica, pero choca con nombres de usuario que contienen puntos y puede confundirse con la sintaxis de versiones antiguas. Por eso conviene usar siempre : y evitar ..
Si necesitas forzar interpretación numérica y evitar que un nombre que parece número se confunda, antepón +, por ejemplo chown +1001:+1002 archivo. Así garantizas que se entienda como UID y GID aunque exista un usuario llamado 1001.
Método 1: cambiar solo propietario o propietario y grupo
Este es el uso diario en servidores y estaciones de trabajo con Linux, ya uses Ubuntu, Linux Mint, Debian, Fedora Workstation, Zorin OS u otra distribución basada en Linux. Todos incluyen chown de GNU coreutils, que corre en Linux.
Pasos:
- Identifica el estado actual:
ls -l /ruta/archivoyid usuario_destino. Confirma el nombre exacto. - Cambia solo propietario:
sudo chown ana /srv/datos/informe.pdf. Verifica conls -lque la tercera columna ahora esana. - Cambia propietario y grupo a la vez:
sudo chown ana:conta /srv/datos/informe.pdf. Útil cuando el archivo debe pertenecer a un equipo concreto. - Si dudas del grupo, usa solo propietario y revisa el grupo resultante antes de tocarlo.
ana:sin grupo asigna el grupo principal deana, no siempre el que quieres. - Comprueba el resultado:
ls -ly, si es un servicio, que sigue arrancando con ese propietario.
Puntos a tener en cuenta:
- Solo root puede ceder la propiedad a otro usuario. No hay opción para que un usuario normal regale sus archivos.
- Si el nombre no existe, el error es
invalid useroinvalid spec. Revisa congetent passwd. - En sistemas con SELinux o ACLs,
chownno cambia etiquetas ni ACLs; usals -Zygetfaclsi el acceso sigue fallando. - Evita
chowncon*sin comillas en directorios con miles de archivos; es fácil incluir archivos ocultos no deseados.
Método 2: cambiar solo grupo y copiar propiedad de referencia
Cambiar solo el grupo es habitual cuando el propietario debe seguir siendo el mismo pero el acceso por grupo cambia de departamento. Copiar la referencia sirve para clonar permisos de propiedad sin memorizar nombres.
Pasos para solo grupo:
- Confirma el grupo:
getent group contaygroups usuariopara saber si ya pertenece. - Ejecuta
sudo chown :conta /srv/datos/informe.pdfosudo chgrp conta /srv/datos/informe.pdf. Ambas hacen lo mismo. - Verifica con
ls -lque la cuarta columna esconta.
Pasos para copiar de referencia:
- Elige el archivo modelo con la propiedad correcta:
ls -l plantilla.txt. - Ejecuta
sudo chown --reference=plantilla.txt /srv/datos/informe.pdf. Si son varios:sudo chown --reference=plantilla.txt /srv/datos/*.pdf. - Verifica con
ls -lque propietario y grupo coinciden con la plantilla.
Cuándo conviene cada uno:
chgrpes más legible si solo tocas grupo y quieres que el comando exprese esa intención en auditorías.chown :grupoes útil si ya estás usandochownen un script y quieres una sola herramienta.--referencees mejor que copiar a mano cuando migras entre entornos y no quieres errores de transcripción.
Usa
--referencecuando tengas un archivo con la propiedad correcta a mano; te ahorra escribir UID y GID y evita equivocarte de grupo en lotes grandes.
Método 3: recursivo y enlaces simbólicos sin romper el sistema
El modo recursivo es potente y el que más incidentes causa cuando se lanza sobre /, /usr o sobre un directorio con enlaces que apuntan fuera del árbol. La regla es verificar antes y proteger la raíz.
Pasos seguros:
- Inspecciona el árbol:
ls -ld /ruta/diryfind /ruta/dir -maxdepth 2 -lspara ver qué hay y si hay symlinks. - Haz una prueba sin cambios:
find /ruta/dir -printf "%M %u:%g %p\n" | head -n 50para ver propietarios actuales. - Para cambiar todo el árbol:
sudo chown -R ana:conta /srv/proyecto. Añade--preserve-rootque viene activo por defecto en GNU chown para evitarchown -R /por error. - Para tocar solo el enlace y no su destino:
sudo chown -h ana:conta /srv/proyecto/enlace. Sin-h, cambias el archivo apuntado. - Para decidir si seguir enlaces, elige:
-Pno sigue nunca,-Hsigue solo los dados en la línea de comandos,-Lsigue todos. El defecto es-P. - Para cambios condicionales:
sudo chown -R --from=viejo:nuevo nuevo:conta /srv/proyectosolo toca lo que aún pertenece aviejo. - Verifica con
find /ruta/dir -exec ls -ld {} + | heady revisa logs del servicio.
Limitación honesta: -R no tiene deshacer. Si te equivocas en /etc o /var, puedes dejar servicios sin acceso. --preserve-root protege / exacto, pero no /etc ni /usr. Un symlink dentro del árbol que apunta a /etc combinado con -L puede cambiar archivos fuera del árbol sin que lo esperes.
Combinar con find para control fino
Cuando no quieres tocar todo, find te da precisión que -R no tiene. Evitas cambiar directorios intermedios, archivos de cache o montajes.
Texto de uso: find recorre el árbol y chown se ejecuta solo sobre lo que coincide. Usa -type f para archivos, -type d para directorios, -name para patrones y -exec ... {} + para agrupar llamadas. Es más eficiente que \; porque agrupa argumentos.
Ejemplo con cifras: en /srv/proyecto con 12.400 archivos y 860 directorios, quieres que los archivos sean ana:conta y los directorios ana:conta con permisos distintos. En lugar de un -R único:
find /srv/proyecto -type f -exec chown ana:conta {} +
find /srv/proyecto -type d -exec chown ana:conta {} +
Si solo los .log deben pasar al grupo logs sin tocar propietario: find /srv/proyecto -type f -name "*.log" -exec chown :logs {} +. Y para evitar seguir enlaces: find -P /srv/proyecto -type f -exec chown ana:conta {} +. Comprueba antes con find /srv/proyecto -type l -ls para ver los 35 enlaces que podrían desviar un -R -L.
Si chown falla: causa y solución
Aunque la sintaxis sea correcta, el sistema puede rechazar el cambio. Las causas se repiten y casi todas se diagnostican con ls -l, id y mount.
Errores frecuentes:
Operation not permitted
Causa: no eres root y tratas de cambiar propietario. También aparece si el sistema de archivos está montado solo lectura. Solución: usa sudo. Verifica montaje con mount | grep " /ruta " y touch /ruta/.test.
invalid user: 'nombre'oinvalid group: 'grupo'
Causa: usuario o grupo no existe o lo escribiste mal, con mayúsculas o con : mal puesto. Solución: getent passwd nombre y getent group grupo. Corrige la sintaxis usuario:grupo.
cannot dereference 'enlace': No such file or directoryofailed to dereference
Causa: enlace roto o chown trata de seguir un symlink cuyo destino no existe. Solución: ls -l enlace y file enlace. Usa -h si quieres tocar el enlace, o repara el destino.
Operation not permittedpor atributo inmutable
Causa: archivo con chattr +i. Ni root puede cambiarlo hasta quitarlo. Solución: lsattr archivo, luego sudo chattr -i archivo y repite chown.
Operation not permitteden NFS
Causa: exportación con root_squash en el servidor; root del cliente llega como nobody. Solución: ejecuta el chown en el servidor NFS o pide al administrador que ajuste /etc/exports.
- No cambia en FAT32, exFAT, NTFS sin mapeo
Causa: esos sistemas no guardan UID:GID POSIX; se simulan al montar con uid=, gid= en mount. Solución: no uses chown ahí. Ajusta opciones de montaje en /etc/fstab o mueve los datos a ext4/XFS.
Otros puntos:
- Caps y contenedores: si corres en Docker sin privilegios, el
chowndentro del contenedor no afecta al host si hayuser namespace. - ACLs y SELinux: si
ls -lya muestra propietario correcto y sigue sin acceso, revisagetfaclyls -Z.
Preguntas frecuentes sobre chown
1. ¿Qué hace el comando chown 777 en Linux?
El comando chown 777 no es válido porque 777 define permisos, no propiedad. Para asignar permisos de lectura, escritura y ejecución a dueño, grupo y otros, usa chmod 777 archivo. Para cambiar el propietario, ejecuta por ejemplo: sudo chown usuario:grupo archivo. Esto otorga acceso total, algo que generalmente no se recomienda por seguridad.
2. ¿Cómo se usa el comando chown en Linux?
El formato básico es: chown propietario archivo. Para cambiar también el grupo: chown propietario:grupo archivo. Requiere privilegios de superusuario, así que precede el comando con sudo. Por ejemplo, sudo chown maria misdatos.txt cambia el dueño del archivo a maria.
3. ¿Cómo usar chown de forma recursiva en Linux?
Agrega la opción -R para aplicar el cambio a un directorio y todo su contenido. Por ejemplo: sudo chown -R juan:usuarios /var/www. Esto cambia el propietario y grupo de la carpeta, todos los subdirectorios y los archivos dentro. La opción -R significa recursivo y afecta la estructura completa.
4. ¿Cómo cambiar el propietario de un archivo al usuario actual?
Usa la variable $USER para referirte al usuario que está ejecutando la sesión. El comando sería: sudo chown $USER archivo.ext. Si necesitas cambiar también el grupo al del usuario actual, escribe: sudo chown $USER:$USER archivo.ext. Esto evita tener que escribir tu nombre de usuario manualmente.
5. ¿Cómo cambiar recursivamente el propietario de un directorio y sus archivos?
Combina la opción -R con la ruta del directorio. Por ejemplo: sudo chown -R carlos:staff /home/proyectos. Esto modifica el dueño y grupo del directorio /home/proyectos y de todos los archivos y subcarpetas que contenga. Verifica los cambios con el comando ls -lR seguido de la ruta.
6. ¿Cómo cambiar el usuario y el grupo con chown?
Separa el nombre de usuario y el grupo con dos puntos. El formato es: chown usuario:grupo archivo. Por ejemplo, sudo chown ana:desarrolladores script.py asigna ana como dueño y el grupo desarrolladores. Para cambiar solo el grupo sin modificar el dueño, escribe :grupo en lugar de usuario:grupo.
7. ¿Cómo aplicar chown a un directorio?
Escribe: chown propietario:grupo nombredirectorio. Para que el cambio afecte también su contenido, usa la opción -R. Por ejemplo: sudo chown -R root:www-data /var/www/html. Esto cambia la propiedad de la carpeta y de todos los archivos dentro, útil al configurar servidores web.
8. ¿Cómo cambiar el propietario de un directorio?
Usa el comando con la sintaxis: sudo chown nuevo_dueño ruta/directorio. Si el directorio contiene archivos y quieres cambiar todo de forma recursiva, agrega -R. Por ejemplo: sudo chown root:admin /etc/miapp. Para comprobar el resultado, ejecuta ls -ld seguido de la ruta del directorio.
Fuentes
- PythianAn Overview of Understanding Chown and Chmod in Linux – Pythianconsultado el 24/09/2026
- BitlaunchHow to use the chown command recursively and non-recursivelyconsultado el 24/09/2026
- Github101-the-chown-command.md – GitHubconsultado el 24/09/2026
- Ss64chown Man Page – Linux – SS64consultado el 24/09/2026
- WarpHow To Chown Recursively – Chown -R or Using Find – Warpconsultado el 24/09/2026
