Introducción
En Linux, cada archivo está asociado con un propietario y un grupo y tiene permisos que determinan qué usuarios pueden leer, escribir o ejecutar el archivo.
Con el comando chgrp puede cambiar el grupo propietario de ciertos archivos o carpetas. Esta guía explica cómo utilizar el comando chgrp.
Sintaxis del comando chgrp
El comando chgrp tiene la siguiente forma:
chgrp [OPTIONS] GROUP FILE
- GRUPO: nombre del nuevo grupo o ID de grupo (GID). El GID numérico debe estar precedido por el símbolo +.
- ARCHIVO: nombre de uno o más archivos.
A diferencia del comando chown, que le permite cambiar el propietario del usuario y el grupo, chgrp solo cambia el propietario del grupo.
Para averiguar a qué grupo pertenece el archivo, use el comando ls -l. Solo el root o el usuario con privilegios de sudo pueden cambiar el grupo propietario de un archivo.
Cómo cambiar el grupo propietario de un archivo
Para cambiar el grupo propietario del archivo o directorio, invoque el comando chgrp seguido del nuevo nombre del grupo y el archivo de destino como argumentos.
Por ejemplo, para cambiar el grupo del nombre de archivo del archivo con nginx ejecutar:
chgrp nginx nome_file
Si ejecuta el comando con un usuario sin privilegios, se mostrará el error "Operación no permitida". Para eliminar errores, ejecute el comando con la opción -f. De forma predeterminada, chgrp no produce ninguna salida si se realiza correctamente.
También puede pasar varios archivos como argumentos al comando chgrp:
chgrp nginx cartella_1 nome_file_1 nome_file_2
Utilice la opción -v para obtener información sobre los archivos que se están procesando:
chgrp nginx nome_file_1 nome_file_2
changed group of 'nome_file_1' from www-data to nginx
group of 'nome_file_2' retained as nginx
Para imprimir información sobre solo aquellos archivos que el grupo realmente cambia, use -c en lugar de -v.
El ID de grupo numérico (GID) se puede utilizar en lugar del nombre de usuario. El siguiente ejemplo cambia el grupo propietario del archivo a un nuevo grupo con un GID de 1012:
chgrp +1012 nome_file
Cómo cambiar la propiedad del grupo Symlink
De forma predeterminada, el comando chgrp cambia el grupo de propietarios del archivo o carpeta de destino del enlace simbólico, no cambia directamente el propietario de los enlaces simbólicos en sí.
Por ejemplo, si intenta cambiar el grupo del enlace simbólico link_1 que apunta a /etc /filename_1, el comando chgrp cambiará la propiedad del archivo o directorio al que apunta el enlace simbólico:
chgrp nginx link_1
Es probable que se produzca un error similar al siguiente: " No se puede eliminar la referencia a 'link_1': Permiso denegado ".
El error se produce porque de forma predeterminada en la mayoría de las distribuciones de Linux, los enlaces simbólicos están protegidos y no es posible operar en los archivos de destino.
Para cambiar la propiedad del grupo del enlace simbólico en sí, use la opción -h:
chgrp -h nginx link_1
Cómo cambiar de forma recursiva la propiedad del grupo
Para cambiar de forma recursiva el grupo propietario de todos los archivos y directorios de un directorio determinado, utilice la opción -R.
Por ejemplo, el siguiente comando cambiará el grupo propietario de todos los archivos y directorios en el directorio /var /www al grupo nginx:
chgrp -R nginx /var/www
Cuando se especifica la opción recursiva, no se realizan cambios en los enlaces simbólicos. Para cambiar la propiedad del grupo de enlaces simbólicos, pase también la opción -h:
chgrp -hR nginx /var/www
Conclusión
En este tutorial hemos visto cómo usar el comando chgrp en Linux. Para obtener más información, escriba el siguiente comando en su terminal:
man chgrp