Cómo usar el comando chgrp en Linux

Contenidos

Una ventana de terminal de Linux en una computadora portátil

los chgrp El comando en Linux cambia la propiedad del grupo de un archivo o directorio. ¿Por qué usarlo en lugar de chown ? A veces, una navaja suiza es excelente, pero cuando verdaderamente se necesita un bisturí, solo sirve.

Cuándo debe utilizar chgrp

Usas el chgrp comando para cambiar la propiedad del grupo de un archivo o directorio. los chown El comando le posibilita cambiar el propietario del usuario y el propietario del grupo de un archivo o directorio. Entonces, ¿por qué necesitarías o utilizarías chgrp?

Bueno, por una parte, es fácil. Usando chown cambiar solo la configuración del propietario del grupo es un poco contradictorio. Debes de tener mucho cuidado con la sintaxis. Depende de la correcta colocación de dos puntos “:”. Extravíe eso y no está haciendo el cambio que pensaba que estaba haciendo.

La sintaxis de chgrp es en conjunto más sencillo. Además cuenta con una característica interesante que le dice en términos simples qué cambios acaba de realizar.

Es una herramienta especialmente diseñada y dedicada para la tarea en cuestión. chgrp adopta totalmente el principio de diseño de Unix de hacer una cosa y hacerlo bien. Veamos qué tiene para ofrecer.

Cambio de la propiedad grupal de un archivo

Cambiar la propiedad grupal de un archivo es muy fácil. Debes utilizar sudo con chgrp. Los grupos no son propiedad de los usuarios, por lo que si un archivo o directorio se mueve de un grupo a otro no es una decisión que corresponda al usuario promedio. Ese es un trabajo para alguien con privilegios de root.

Vamos a cambiar la propiedad del grupo de un archivo fuente de C llamado «gc.c.» Vamos a cambiarlo al grupo «devteam».

Podemos verificar los valores de propiedad actuales usando ls con el -l (lista larga) opción.

ls -l

Este es el comando para cambiar la propiedad del grupo. Escribe sudo, un espacio, chgrp , un espacio, el nombre del grupo que vamos a determinar como propietario del grupo, un espacio y el nombre del archivo.

sudo chgrp devteam gc.c

Comprobaremos que el cambio se haya realizado usando ls -l de nuevo.

ls -l

1-1-5132580-9858259

Podemos ver que la propiedad del grupo ha cambiado de «dave» a «devteam».

Para cambiar la propiedad del grupo para un conjunto de archivos al mismo tiempo, puede utilizar comodines. Cambiemos la propiedad del grupo para todos los archivos fuente de C en el directorio actual. Usaremos este comando:

sudo chgrp devteam *.c

Podemos chequear que el cambio se ha realizado como esperábamos usando ls -l.

ls -l

Todos los archivos fuente de C en este directorio se han cambiado para que la propiedad de su grupo sea «devteam».

Usando el -c (cambios) opción chgrp enumerará los cambios que ha realizado en cada archivo. Supongamos que cometimos un error, queríamos que los archivos fuente de C tuvieran la propiedad del grupo establecida en «researchlab». Corregiremos eso ahora. Usaremos este comando:

sudo chgrp -c researchlab *.c

Los cambios se realizan por nosotros, y cada uno se enumera a medida que ocurre, lo que nos posibilita verificar que lo que hemos cambiado es correcto.

Cambio de la propiedad grupal de un directorio

Cambiar la propiedad de grupo de un directorio es igual de sencillo. Podemos utilizar este comando para cambiar la propiedad del grupo para el directorio «respaldo».

sudo chgrp -c devteam ./backup

Para ser claros, este comando cambiará la propiedad del grupo del directorio en sí, no los archivos dentro del directorio. Usaremos ls -l con el -d (directorio) para verificar que este es el caso.

ls -l -d

La propiedad del grupo del directorio en sí se ha cambiado a «devteam».

La opción recursiva

Si queremos cambiar la propiedad del grupo para los archivos y directorios almacenados dentro de un directorio, podemos utilizar el -R opción (recursiva). Esto causará chgrp para cambiar la propiedad del grupo para todos los archivos y subdirectorios debajo del directorio de destino.

Intentemos esto con el directorio de «copia de seguridad». Aquí está el comando:

sudo chgrp -R devteam ./backup

Revisaremos el archivos en uno de los subdirectorios anidados con el ls comando, y además comprobaremos la configuración de uno de los anidados subdirectorios a través de el uso ls .

ls -l ./backup/images
ls -l -d ./backup/images

Podemos ver que la propiedad del grupo ha cambiado tanto para los archivos en los subdirectorios anidados como para los subdirectorios anidados.

Usando un archivo de referencia

Hasta ahora, hemos estado diciendo explícitamente chgrp el nombre del grupo que anhelamos usar. Además podemos utilizar chgrp de forma que diga «determinar la propiedad del grupo de esta archivo a la misma propiedad de grupo que ese expediente.»

Establezcamos la propiedad del grupo de «gc.h» para que sea la misma que «gc.c.»

Podemos chequear la configuración actual de «gc.c» y «gc.h» usando ls.

ls -l gc.c
ls -l gc.h

La opción que necesitamos utilizar es la --reference opción. Se copia la propiedad del grupo de el archivo de referencia para el otro archivo. Tenga cuidado de colocar los archivos correctamente.

sudo chgrp --reference=gc.c gc.h

Usaremos ls para chequear que la configuración se haya transferido a «gc.h.»

ls -l gc.h

El archivo «gc.h» ahora tiene la misma propiedad de grupo que «gc.c.»

Usando chgrp con links simbólicos

Nosotros podemos utilizar chgrp para cambiar la propiedad del grupo de links simbólicos, o del archivo al que apunta el link simbólico.

Para este ejemplo, hemos creado un enlace simbólico llamado «button_link». Esto apunta a un archivo llamado «./backup/images/button_about.png». Para cambiar la propiedad grupal del archivo, debemos utilizar el --dereference opción. Esto cambiará la configuración del archivo y dejará el link simbólico sin cambios.

Revisemos la configuración del link simbólico usando ls -l.

ls -l button_link

El comando para cambiar el archivo es:

sudo chgrp --dereference devteam button_link

Verificaremos que el link simbólico no haya cambiado usando ls, y además verificaremos la configuración de propiedad del grupo para el archivo.

ls -l button_link
ls -l ./backup/images/button_about.png

El link simbólico no ha cambiado y se ha modificado la propiedad del grupo del archivo «button_about.png».

Para cambiar la propiedad grupal del link simbólico en sí, debemos utilizar el --no-dereference opción.

El comando a usar es:

sudo chgrp --no-dereference devteam button_link

Usaremos ls -l para verificar que se haya establecido la nueva propiedad del grupo para el link simbólico.

ls -l button-link

Esta vez, el elemento afectado fue el link simbólico en sí, no el archivo al que apunta.

Agradable y simple

Lo simple es bueno. Significa que hay menos que recordar y menos con qué confundirse. Eso debería significar menos errores.

setTimeout(function(){
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘335401813750447’);
fbq(‘track’, ‘PageView’);
},3000);

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.