Il n'est pas possible d'avoir un fichier appartenant à plusieurs groupes Linux avec des autorisations Unix traditionnelles. (Cependant, c'est possible avec ACL .)
Mais vous pouvez utiliser la solution de contournement suivante et créer un nouveau groupe (par exemple appelé devFirms
) qui inclura tous les utilisateurs des groupes devFirmA
, devFirmB
et devFirmC
.
Vous créez de nouveaux groupes d'utilisateurs avec:
sudo addgroup NEWGROUPNAME
Tout d'abord, vous devrez peut-être installer id-utils
pour obtenir la lid
commande-:
sudo apt-get install id-utils
Ensuite , vous pouvez exécuter la ligne de code suivante pour copier facilement tous les utilisateurs de SOURCEGROUP
à TARGETGROUP
. Bien sûr, vous devez exécuter la commande une fois pour chaque groupe que vous souhaitez copier. N'oubliez pas de remplacer les espaces réservés capitalisés par les noms de groupe réels.
for u in $(lid -g -n SOURCEGROUP); do sudo usermod -a -G TARGETGROUP $u; done
Donc, dans votre cas, vous devrez exécuter la commande (toutes les lignes à la fois):
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
Notez que ces commandes copient uniquement tous les utilisateurs qui sont actuellement membres des groupes source. Chaque utilisateur qui sera ajouté plus tard devra également être ajouté manuellement à votre groupe commun avec la adduser
commande. Remplacez encore une fois les espaces réservés en majuscule par le nom d'utilisateur et de groupe réel ( devFirms
):
sudo adduser NEWUSER TARGETGROUP
Merci à Justin Ethier pour sa réponse sur Unix & Linux.SE: Ajouter tous les utilisateurs d'un groupe à un autre groupe?