Introducción a los comandos chgrp y newgrp de Linux

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

En este post veremos como ejemplos y definiciones, como usar los comandos chgrp y newgrp ya sea en un computador o servidor linux.

Tabla de contenido
  1. Usando chgrp
    1. Recursivo
    2. Referencia
    3. Informar cambios
    4. Preservar la raíz
  2. Sobre el comando newgrp
    1. ¿Qué permite hace el comando newgrp?
  3. Conclusiones

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.

Recomendado:   Cambiar CONFIGURACIÓN de teclado INGLES A ESPAÑOL KALI LINUX

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 el comando newgrp

El comando newgrp es usado para cambiar el ID de grupo actual durante una sesión de inicio de sesión. Si se proporciona el indicador opcional, el entorno del usuario se reinicializará como si el usuario hubiera iniciado sesión; de lo contrario, el entorno actual, incluido el directorio de trabajo actual, permanece sin cambios.

Recomendado:   Linux: Ventajas y desventajas de la tecnología de código abierto

newgrp cambia el ID de grupo real actual al grupo con nombre, o al grupo predeterminado enumerado en /etc/passwd si no se proporciona un nombre de grupo. newgrp también intenta agregar el grupo al grupo de usuarios.

Si no es root, se le pedirá al usuario una contraseña si no tiene una contraseña (en /etc/shadow si este usuario tiene una entrada en el archivo de contraseñas sombreadas, o en /etc/passwd de lo contrario) y el grupo la tiene, o si el usuario no figura como miembro y el grupo tiene una contraseña. Al usuario se le negará el acceso si la contraseña del grupo está vacía y el usuario no figura como miembro.

Si hay una entrada para este grupo en /etc/gshadow, la lista de miembros y la contraseña de este grupo se tomarán de este archivo; de lo contrario, se considerará la entrada en /etc/group.

¿Qué permite hace el comando 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. 

Recomendado:   Como DESCARGAR E INSTALAR LUBUNTU en VIRTUALBOX

Antes de que los usuarios agreguen archivos en el directorio compartido, tiene la posibilidad de ejecutar el comando newgrp share. Al hacer esto, cambia su grupo primario para compartir, por lo que todos los archivos que colocan en el directorio tendrán inmediatamente el grupo compartido, en lugar del grupo primario del usuario. Una vez que hayan finalizado, los usuarios pueden volver a su grupo principal habitual con el siguiente comando (por ejemplo):

newgrp alan

Conclusiones

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

Subir