El chown
El comando le permite cambiar la propiedad del usuario y/o grupo de un archivo, directorio o enlace simbólico determinado.
En Linux, todos los archivos están asociados con un propietario y un grupo y se les asignan derechos de acceso de permiso para el propietario del archivo, los miembros del grupo y otros.
En este tutorial, le mostraremos cómo usar el chown
comando a través de ejemplos prácticos.
Cómo usar chown
#
Antes de entrar en cómo usar el chown
comando, comencemos revisando la sintaxis básica.
El chown
expresiones de comando toma la siguiente forma:
chown [OPTIONS] USER[:GROUP] FILE(s)
USER
es el nombre de usuario o el ID de usuario (UID) del nuevo propietario. GROUP
es el nombre del nuevo grupo o el ID de grupo (GID). FILE(s)
es el nombre de uno o más archivos, directorios o enlaces. Los ID numéricos deben tener el prefijo +
símbolo.
USER
- Si solo se especifica el usuario, el usuario especificado se convertirá en el propietario de los archivos dados, la propiedad del grupo no cambia.USER:
- Cuando el nombre de usuario va seguido de dos puntos:
y no se proporciona el nombre del grupo, el usuario se convertirá en el propietario de los archivos y la propiedad del grupo de archivos se cambiará al grupo de inicio de sesión del usuario.USER:GROUP
- Si se especifican tanto el usuario como el grupo (sin espacio entre ellos), la propiedad del usuario de los archivos se cambia al usuario dado y la propiedad del grupo se cambia al grupo dado.:GROUP
- Si se omite el Usuario y el grupo tiene el prefijo de dos puntos:
, solo se cambia la propiedad del grupo de los archivos al grupo dado.:
Si solo dos puntos:
se da, sin especificar el usuario y el grupo, no se hace ningún cambio.
Por defecto, en caso de éxito, chown
no produce ningún resultado y devuelve cero.
Usa el ls -l
comando para averiguar quién es el propietario de un archivo o a qué grupo pertenece el archivo:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt
|[-][-][-]- [------] [---]
| |
| +-----------> Group
+-------------------> Owner
Los usuarios normales pueden cambiar el grupo del archivo solo si son propietarios del archivo y solo a un grupo del que son miembros. Los usuarios administrativos pueden cambiar la propiedad del grupo de todos los archivos.
Cómo cambiar el propietario de un archivo #
Para cambiar el dueño de un archivo usa el chown
comando seguido del nombre de usuario del nuevo propietario y el archivo de destino como argumento:
chown USER FILE
Por ejemplo, el siguiente comando cambiará la propiedad de un archivo llamado file1
a un nuevo propietario llamado linuxize
:
chown linuxize file1
Para cambiar la propiedad de varios archivos o directorios, especifíquelos como una lista separada por espacios. El siguiente comando cambia la propiedad de un archivo llamado file1
y directorio dir1
a un nuevo propietario llamado linuxize
:
chown linuxize file1 dir1
El ID de usuario numérico (UID) se puede utilizar en lugar del nombre de usuario. El siguiente ejemplo cambiará la propiedad de un archivo llamado file2
a un nuevo propietario con UID de 1000
:
chown 1000 file2
Si existe un propietario numérico como nombre de usuario, la propiedad se transferirá al nombre de usuario. Para evitar esto, prefije la ID con +
:
chown 1000 file2
Cómo cambiar el propietario y el grupo de un número de archivo
Para cambiar tanto el propietario como el grupo de un archivo, use el chown
comando seguido del nuevo propietario y grupo separados por dos puntos (:
) sin espacios intermedios y el archivo de destino.
chown USER:GROUP FILE
El siguiente comando cambiará la propiedad de un archivo llamado file1
a un nuevo propietario llamado linuxize
y agrupar users
:
chown linuxize:users file1
Si omite el nombre del grupo después de los dos puntos (:
) el grupo del archivo se cambia al grupo de inicio de sesión del usuario especificado:
chown linuxize: file1
Cómo cambiar el grupo de un archivo #
Para cambiar solo el grupo de un archivo use el chown
comando seguido de dos puntos (:
) y el nombre del nuevo grupo (sin espacio entre ellos) y el archivo de destino como argumento:
chown :GROUP FILE
El siguiente comando cambiará el grupo propietario de un archivo llamado file1
a www-data
:
chown :www-data file1
Otro comando que puede usar para cambiar la propiedad del grupo de los archivos es chgrp
.
Cómo cambiar el número de propiedad de los enlaces simbólicos
Cuando no se usa la opción recursiva, chown
El comando cambia la propiedad del grupo de los archivos a los que apuntan los enlaces simbólicos, no los enlaces simbólicos mismos.
Por ejemplo, si intenta cambiar el propietario y el grupo del enlace simbólico symlink1
que apunta a /var/www/file1
, chown
cambiará la propiedad del archivo o directorio al que apunta el enlace simbólico:
chown www-data: symlink1
Lo más probable es que, en lugar de cambiar la propiedad del objetivo, obtenga el mensaje de error "no se puede eliminar la referencia a 'enlace simbólico1':permiso denegado".
El error ocurre porque, de manera predeterminada, en la mayoría de las distribuciones de Linux, los enlaces simbólicos están protegidos y no puede operar en los archivos de destino. Esta opción se especifica en /proc/sys/fs/protected_symlinks
. 1
significa habilitado y 0
desactivado. Recomendamos no deshabilitar la protección de enlaces simbólicos.
Para cambiar la propiedad del grupo del enlace simbólico en sí, use -h
opción:
chown -h www-data symlink1
Cómo cambiar recursivamente el número de propiedad del archivo
Para operar recursivamente en todos los archivos y directorios bajo el directorio dado, use -R
(--recursive
) opción:
chown -R USER:GROUP DIRECTORY
El siguiente ejemplo cambiará la propiedad de todos los archivos y subdirectorios bajo /var/www
directorio a un nuevo propietario y grupo llamado www-data
:
chown -R www-data: /var/www
Si el directorio contiene enlaces simbólicos, pase -h
opción:
chown -hR www-data: /var/www
Otras opciones que se pueden usar cuando se cambia recursivamente la propiedad del directorio son -H
y -L
.
Si el argumento pasó a chown
El comando es un enlace simbólico que apunta a un directorio, el -H
La opción hará que el comando la atraviese. -L
le dice a chown
para atravesar cada enlace simbólico a un directorio que se encuentra. Por lo general, no debe usar estas opciones porque podría estropear su sistema o crear un riesgo de seguridad.
Usando un archivo de referencia #
El --reference=ref_file
La opción le permite cambiar la propiedad del usuario y del grupo de los archivos dados para que sean los mismos que los del archivo de referencia especificado (ref_file
). Si el archivo de referencia es un enlace simbólico chown
utilizará el usuario y el grupo del archivo de destino.
chown --reference=REF_FILE FILE
Por ejemplo, el siguiente comando asignará al usuario y al grupo la propiedad del file1
a file2
chown --reference=file1 file2
Conclusión #
chown
es una utilidad de línea de comandos de Linux/UNIX para cambiar la propiedad del usuario y/o grupo del archivo.
Para obtener más información sobre el chown
visite la página de manual de chown o escriba man chown
en tu terminal.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.