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.