No es posible tener un archivo propiedad de varios grupos de Linux con permisos tradicionales de Unix. (Sin embargo, es posible con ACL ).
Pero puede utilizar la siguiente solución y crear un nuevo grupo (por ejemplo, llamado devFirms) que incluirá a todos los usuarios de los grupos devFirmA, devFirmBy devFirmC.
Crea nuevos grupos de usuarios con:
sudo addgroup NEWGROUPNAME
Primero, puede que tenga que instalar id-utilspara obtener el lidcomando:
sudo apt-get install id-utils
A continuación, puede ejecutar la siguiente línea de código para copiar fácilmente a todos los usuarios de SOURCEGROUPa TARGETGROUP. Por supuesto, debe ejecutar el comando una vez para cada grupo que desee copiar. No olvide reemplazar los marcadores de posición con mayúscula por los nombres de grupo reales.
for u in $(lid -g -n SOURCEGROUP); do sudo usermod -a -G TARGETGROUP $u; done
Entonces, en su caso, tendría que ejecutar el comando (todas las líneas a la vez):
sudo addgroup devFirms &&
for u in $(lid -g -n devFirmA); do sudo usermod -a -G devFirms $u; done &&
for u in $(lid -g -n devFirmB); do sudo usermod -a -G devFirms $u; done &&
for u in $(lid -g -n devFirmC); do sudo usermod -a -G devFirms $u; done
Tenga en cuenta que estos comandos solo copian a todos los usuarios que son miembros actuales de los grupos de origen. Cada usuario que se agregue más tarde también tendrá que agregarse manualmente a su grupo común con el addusercomando. Simplemente reemplace los marcadores de posición en mayúsculas con el nombre real del usuario y grupo ( devFirms):
sudo adduser NEWUSER TARGETGROUP
Gracias a Justin Ethier por su respuesta en Unix y Linux. SE: ¿Agregar todos los usuarios de un grupo a otro?