el comando chown
le permite cambiar la propiedad de usuario y / o grupo de un archivo, directorio o enlace simbólico dado.
en Linux, todos los archivos están asociados con un propietario y un grupo y asignados con permisos de acceso para el propietario del archivo, los miembros del grupo y otros.
en este tutorial, le mostraremos cómo usar el comando chown
a través de ejemplos prácticos.,
cómo usar chown #
antes de entrar en cómo usar el comando chown
, comencemos revisando la sintaxis básica.
El chown
comando expresiones toma la forma siguiente:
chown USER 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 ir precedidos por el 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 se cambia. -
USER:
– cuando el nombre de usuario es seguido por dos puntos:
, y el nombre del grupo no se da, el Usuario se convertirá en el propietario de los archivos, y la propiedad del grupo de archivos se cambia a 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 la propiedad del grupo de los archivos se cambia al grupo dado. -
:
Si sólo un colon:
es dado, sin especificar el usuario y el grupo, no se realiza ningún cambio.,
de forma predeterminada, en caso de éxito, chown
no produce ninguna salida y devuelve cero.
Use el comando ls -l
para averiguar quién posee 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 propietario de un archivo de la etiqueta chown
comando seguido del nombre de usuario del nuevo propietario y el archivo de destino como un argumento:
chown USER FILE
Por ejemplo, el siguiente comando para cambiar la propiedad de un archivo llamado file1
a un nuevo propietario con nombre linuxize
:
chown linuxize file1
Para cambiar la propiedad de varios archivos o directorios, especificar como una lista separada por espacios., El siguiente comando cambia la propiedad de un archivo llamado file1
y el directorio dir1
a un nuevo propietario llamado linuxize
:
chown linuxize file1 dir1
El ID de usuario numérico (UID 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 este prefijo el ID con +
:
chown 1000 file2
cómo cambiar el propietario y el grupo de un archivo #
para cambiar tanto el propietario como el grupo de un archivo use el comando chown
seguido del nuevo propietario y el grupo separados por un dos puntos (:
) sin espacios intermedios y el archivo de destino.,id=»61de68025d»>
cómo cambiar el grupo de un archivo #
para cambiar solo el grupo de un archivo use el comando chown
seguido de dos puntos (:
) y el nuevo nombre del 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 archivos es chgrp
.,
cómo cambiar la propiedad de los enlaces simbólicos #
Cuando no se utiliza 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 en sí.,
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 el enlace simbólico apunta a:
chown www-data: symlink1
lo más probable es que en lugar de cambiar la propiedad del objetivo, obtendrá un error «no se puede desreferenciar ‘symblink1’: Permiso denegado».
el error se produce porque de forma predeterminada en la mayoría de las distribuciones de Linux los enlaces simbólicos están protegidos y no se puede operar en los archivos de destino., Esta opción se especifica en /proc/sys/fs/protected_symlinks
. 1
significa habilitado y 0
deshabilitado. Recomendamos no deshabilitar la protección de enlace simbólico.,-R
(--recursive
) opción:
chown -R USER:GROUP DIRECTORY
El siguiente ejemplo se va a cambiar la titularidad de todos los archivos y subdirectorios bajo el /var/www
directorio a un nuevo propietario y grupo nombre www-data
:
chown -R www-data: /var/www
Si el directorio contiene los enlaces simbólicos pasar el -h
opción:
chown -hR www-data: /var/www
Otras opciones que se pueden utilizar cuando recursivamente cambiar el directorio de la propiedad son -H
y -L
.,
si el argumento pasado a chown
el comando es un enlace simbólico que apunta a un directorio, la opción -H
hará que el comando lo atraviese. -L
le dice a chown
que atraviese cada enlace simbólico a un directorio que se encuentre. 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 #
la opción--reference=ref_file
le permite cambiar la propiedad de usuario y grupo de 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 para asignar el usuario y grupo propietario de la etiqueta file1
a file2