Métodos de pago Abuse

Comando CHGRP LINUX

14.12.2021, 10:30

A menudo, cuando se ejecuta Linux, los usuarios rara vez piensan en quién es el propietario de un archivo. Sin embargo, cuando se trata de ejecutar un servidor, la situación cambia. Para aumentar la seguridad, el servidor tiene su propio usuario. No es raro que los servidores utilicen el mismo grupo, como www-data. A continuación vamos a ver cómo funciona esta función con archivos y directorios. Prestaremos especial atención a los enlaces simbólicos, ya que pueden causar problemas cuando se utilizan configuraciones inseguras.

Qué significa

El estándar de permisos de archivos llegó a Linux desde Unix. Así que cada objeto tiene un usuario, grupo además de esto describe los derechos deotros usuarios(otros). Los permisos constan de tres elementos: lectura, escritura, ejecución. El comando umask se utiliza para cambiar los permisos, pero los comandos chown se utilizan para cambiar el propietario y el grupo directamente. El comando ls se puede utilizar para ver los permisos actuales.

Sintaxis y opciones

Vista general del comando chgrp:

$ chgrp [options] new_group file_name

Lista de opciones comunes para el comando chgrp:

  1. -h - trabajar directamente con los propios enlaces simbólicos;
  2. --dereference - trabaja con ficheros, no con los propios enlaces simbólicos. Se utiliza por defecto;
  3. -R - procesamiento recursivo de un directorio con todo su contenido;
  4. -H - sigue el enlace simbólico y cambia los atributos del archivo/directorio. Se utiliza junto con el parámetro -R;
  5. -L - seguir el enlace simbólico y continuar el procesamiento recursivo. Se utiliza junto con el parámetro -R;
  6. -P - al encontrar un enlace simbólico, procesarlo sólo a él. Utilizado junto con el parámetro -R, es el valor por defecto;
  7. --reference=nombre_archivo - utiliza el grupo de muestra;
  8. -c - la salida sólo cambia al procesar;
  9. -v - muestra información sobre cada objeto procesado.

Uso del comando

El ejemplo más sencillo de uso del comando chgrp. El siguiente cambia todo el objeto www-data para el archivo en la carpeta actual:

$ sudo chgrp www-data file.txt

Y este otro cambia el grupo a www-data para el fichero de la carpeta:

 $ sudo chgrp www-data folder

El comando funciona de una manera muy predecible, cambiando su grupo. Los objetos de la carpeta permanecen sin cambios. Si se manejan enlaces simbólicos, sus atributos permanecen sin cambios, pero el objeto obtiene un nuevo grupo. Este comportamiento es similar al manejo del parámetro --dereference.

Por ejemplo, estos comandos aplicados a enlaces simbólicos funcionarán como se muestra en la captura de pantalla:

$ sudo chgrp www-data sym_file.txt

Veamos cómo funcionaría el parámetro -h cambiando los atributos de un enlace simbólico:

$ sudo chgrp -h www-data sym_file

El grupo se ha establecido no sólo al directorio, sino también a todos los ficheros que contiene. Observe que el comportamiento ha cambiado, ahora al procesar un enlace simbólico los atributos se establecen para el propio enlace, no para el objeto.

Para ver la diferencia entre los parámetros -H y -L, veamos un par de ejemplos más. Recuerde que deben utilizarse junto con -R:

$ sudo chgrp -RH www-data folder

Usando -H el comportamiento al procesar enlaces simbólicos ha cambiado, ahora se manejan como si las funciones se ejecutaran por separado. Los atributos de las referencias no cambian, los atributos de los propios objetos sí, y el procesamiento recursivo se detiene cuando se cambia a un directorio.

$ sudo chgrp -RL www-data folder

Realiza una única función: cambia el grupo de ficheros y directorios.

Al procesar enlaces simbólicos, debes ser extremadamente cuidadoso para no dañar el sistema.