Introducción a los comandos chgrp y newgrp de Linux

que es kali linux

Los comandos chgrp y newgrp proporcionan ayuda adicional para administrar archivos que necesitan mantener la propiedad del grupo.

Usando chgrp

El comando chgrp simplemente cambia la propiedad del grupo de un archivo. Es lo mismo que el comando chown: <group> . Puedes usar:

$chown :alan mynotes

o:

$chgrp alan mynotes

Recursivo

Algunos argumentos adicionales para chgrp pueden ser útiles tanto en la línea de comandos como en un script. Al igual que muchos otros comandos de Linux, chgrp tiene un argumento recursivo, -R . Necesitará esto para operar en un directorio y su contenido de forma recursiva, como demostraré a continuación. He añadido el -v ( detallado argumento) por lo chgrp me dice lo que está haciendo:

ls -l . conf
:.
drwxrwxr-x 2 Alan Alan 4096 Aug   5 15 : 33 conf

conf:
-rw-rw-r-- 1 Alan Alan 0 Aug   5 15 : 33 conf.xml
# chgrp -vr conf delta
grupo cambió de 'conf / conf.xml ' de alan a delta
cambió el grupo de ' conf ' de alan a delta

Referencia

Se puede usar un archivo de referencia ( –reference = RFILE ) al cambiar el grupo en los archivos para que coincida con una determinada configuración o cuando no conoce el grupo, como podría ser el caso al ejecutar un script. Puede duplicar el grupo de otro archivo ( RFILE ), denominado archivo de referencia. Por ejemplo, para deshacer los cambios realizados anteriormente (recuerde que un punto [ . ] Se refiere al directorio de trabajo actual):

$ chgrp -vR --reference=. conf

Informar cambios

La mayoría de los comandos tienen argumentos para controlar su salida. El más común es -v para habilitar detallado, y el comando chgrp tiene un modo detallado. También tiene un argumento -c ( –changes ), que le indica a chgrp que informe solo cuando se realiza un cambio. Chgrp aún informará otras cosas, como si no se permite una operación.

El argumento -f ( –silent , –quiet ) se usa para suprimir la mayoría de los mensajes de error. Usaré este argumento y -c en la siguiente sección para que solo muestre cambios reales.

Preservar la raíz

La raíz ( / ) del sistema de archivos de Linux debe tratarse con gran respeto. Si se comete un error de comando a este nivel, las consecuencias pueden ser terribles y dejar un sistema completamente inútil. Particularmente cuando está ejecutando un comando recursivo que hará cualquier tipo de cambio, o peor aún, eliminaciones. El comando chgrp tiene un argumento que puede usarse para proteger y preservar la raíz. El argumento es –preserve-root . Si este argumento se usa con un comando chgrp recursivo en la raíz, no sucederá nada y en su lugar aparecerá un mensaje:

[ root @ localhost # chgrp -cfR --preserve-root a + w /
chgrp: es peligroso operar recursivamente en '/'
chgrp: use --no-preserve-root para anular esta falla

La opción no tiene efecto cuando no se usa junto con recursivo. Sin embargo, si el usuario raíz ejecuta el comando, los permisos de / cambiarán, pero no los de otros archivos o directorios dentro de él:

[ alan @ localhost ] $ chgrp -c --preserve-root alan /
chgrp: cambio de grupo de '/' : Operación no permitida
[ root @ localhost # chgrp -c --preserve-root alan /
cambio de grupo de ' / ' de raíz a alan

Sorprendentemente, parece, este no es el argumento predeterminado. La opción –no-preserve-root es la predeterminada. Si ejecuta el comando anterior sin la opción «preservar», el modo predeterminado será «no preservar» y posiblemente cambie los permisos en los archivos que no deberían modificarse:

[ alan @ localhost ] $ chgrp -cfR alan /
cambió el grupo de '/ dev / pts / 0' de tty a alan
cambió el grupo de '/ dev / tty2' de tty a alan
cambió el grupo de '/ var / spool / mail / alan ' de mail a alan

Sobre newgrp

El comando newgrp permite a un usuario anular el grupo primario actual. newgrp puede ser útil cuando trabaja en un directorio donde todos los archivos deben tener la misma propiedad de grupo. Suponga que tiene un directorio llamado compartir en su servidor de intranet donde diferentes equipos almacenan fotos de marketing. El grupo es compartir . A medida que diferentes usuarios colocan archivos en el directorio, los grupos principales de los archivos pueden confundirse. Cada vez que se agregan nuevos archivos, puede ejecutar chgrp para corregir cualquier confusión configurando el grupo para compartir :

cd share
ls -l
-rw-r - r--. 1 Alan cuota de 0 Aug   7 15 : 35 pic13
-rw-r - r--. 1 Alan Alan 0 Aug   7 15 : 35 pic1
-rw-r - r--. 1 Susan delta 0 Aug   7 15 : 35 pic2
-rw-r - r--. 1 James gamma 0 Aug   7 15 : 35 pic3
-rw-rw-r--. 1 contrato de factura   07 de agosto   15 : 36 pic4

Cubrí el modo setgid en mi artículo sobre el  comando chmod . Esta sería una forma de resolver este problema. Pero, supongamos que el bit setgid no se estableció por alguna razón. El comando newgrp es útil en esta situación. Antes de que los usuarios coloquen archivos en el directorio compartido , pueden ejecutar el comando newgrp share . Esto cambia su grupo primario para compartir, por lo que todos los archivos que colocan en el directorio tendrán automáticamente el grupo compartido , en lugar del grupo primario del usuario. Una vez que hayan terminado, los usuarios pueden volver a su grupo principal habitual con (por ejemplo):

newgrp alan

Conclusión

Es importante comprender cómo administrar usuarios, grupos y permisos. También es bueno conocer algunas formas alternativas de solucionar los problemas que pueda encontrar, ya que no todos los entornos están configurados de la misma manera.

Deja un comentario