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. 1significa 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. -Lle 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