GNU/Linux >> Tutoriales Linux >  >> Linux

Introducción a los comandos chgrp y newgrp de Linux

En un artículo reciente, presenté el chown comando, que se utiliza para modificar la propiedad de los archivos en los sistemas. Recuerde que la propiedad es la combinación del usuario y el grupo asignado a un objeto. El chgrp y nuevo grupo Los comandos brindan ayuda adicional para administrar archivos que necesitan mantener la propiedad del grupo.

Usando chgrp

El chgrp El comando simplemente cambia la propiedad del grupo de un archivo. Es lo mismo que el chown : dominio. 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. Agregué la -v (detallado ) argumento para que chgrp me diga 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 delta conf
changed group of 'conf/conf.xml' from alan to delta
changed group of 'conf' from alan to delta

Referencia

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Un archivo de referencia (--reference=RFILE ) se puede usar cuando se cambia el grupo en los archivos para que coincidan con una determinada configuración o cuando no conoce el grupo, como podría ser el caso cuando se ejecuta 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

Reportar 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 una -c (--cambios ), que indica a chgrp que informe solo cuando se realiza un cambio. Chgrp aún informará de otras cosas, como si una operación no está permitida.

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

Preservar raíz

La raíz (/ ) del sistema de archivos de Linux debe tratarse con gran respeto. Si se comete un error de mando a este nivel, las consecuencias pueden ser terribles y dejar un sistema completamente inservible. 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 se puede usar 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 pasará nada y aparecerá un mensaje en su lugar:

[root@localhost /]# chgrp -cfR --preserve-root a+w /
chgrp: it is dangerous to operate recursively on '/'
chgrp: use --no-preserve-root to override this failsafe

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

[alan@localhost /]$ chgrp -c --preserve-root alan /
chgrp: changing group of '/': Operation not permitted
[root@localhost /]# chgrp -c --preserve-root alan /
changed group of '/' from root to alan

Sorprendentemente, al parecer, este no es el argumento predeterminado. La opción --no-preserve-root es el predeterminado. Si ejecuta el comando anterior sin la opción "preservar", se establecerá de manera predeterminada en el modo "no preservar" y posiblemente cambie los permisos en los archivos que no deberían cambiarse:

[alan@localhost /]$ chgrp -cfR alan /
changed group of '/dev/pts/0' from tty to alan
changed group of '/dev/tty2' from tty to alan
changed group of '/var/spool/mail/alan' from mail to alan

Acerca de newgrp

El nuevo grupo El comando permite a un usuario anular el grupo principal 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 share 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 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 share 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 bill contract  0 Aug  7 15:36 pic4

Cubrí setgid mode en mi artículo sobre chmod dominio. Esta sería una forma de solucionar este problema. Pero supongamos que el bit setgid no se configuró por algún motivo. El comando newgrp es útil en esta situación. Antes de que cualquier usuario ponga archivos en share directorio, pueden ejecutar el comando newgrp share . Esto cambia su grupo principal a compartir por lo que todos los archivos que coloquen en el directorio tendrán automáticamente el grupo compartir , en lugar del grupo principal 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 entender 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.


Linux
  1. Introducción al comando useradd de Linux

  2. Inodes y el sistema de archivos de Linux

  3. Comandos de Linux:trabajos, bg y fg

  4. Comandos de reinicio y apagado de Linux

  5. Comprender los comandos de control de trabajos en Linux:bg, fg y CTRL+Z

Introducción al sistema de archivos de Linux

Comando Chgrp en Linux (Cambiar grupo)

Comando Chgrp de Linux con ejemplos

Cómo enumerar los miembros de un grupo en Linux

Los 40 comandos útiles del servidor Linux para principiantes y profesionales

Comandos de gestión de grupos en Linux