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
, devFirmB
y devFirmC
.
Crea nuevos grupos de usuarios con:
sudo addgroup NEWGROUPNAME
Primero, puede que tenga que instalar id-utils
para obtener el lid
comando:
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 SOURCEGROUP
a 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 adduser
comando. 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?