Es ist nicht möglich, dass eine Datei mehreren Linux-Gruppen mit herkömmlichen Unix-Berechtigungen gehört. (Dies ist jedoch mit ACL möglich .)
Aber Sie könnten die folgende Abhilfe verwenden und eine neue Gruppe erstellen (zB genannt devFirms
) , die alle Benutzer der Gruppen umfassen wird devFirmA
, devFirmB
und devFirmC
.
Sie erstellen neue Benutzergruppen mit:
sudo addgroup NEWGROUPNAME
Möglicherweise müssen Sie zuerst installieren id-utils
, um den lid
Befehl -command zu erhalten:
sudo apt-get install id-utils
Anschließend können Sie die folgende Codezeile ausführen, um alle Benutzer von SOURCEGROUP
auf einfache Weise zu kopieren TARGETGROUP
. Natürlich müssen Sie den Befehl für jede Gruppe, die Sie kopieren möchten, einmal ausführen. Vergessen Sie nicht, die großgeschriebenen Platzhalter durch die tatsächlichen Gruppennamen zu ersetzen.
for u in $(lid -g -n SOURCEGROUP); do sudo usermod -a -G TARGETGROUP $u; done
In Ihrem Fall müssten Sie also den Befehl ausführen (alle Zeilen auf einmal):
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
Beachten Sie, dass diese Befehle nur alle Benutzer kopieren, die derzeit Mitglieder der Quellgruppen sind. Jeder Benutzer, der später hinzugefügt wird, muss mit dem adduser
Befehl auch manuell zu Ihrer allgemeinen Gruppe hinzugefügt werden . Ersetzen Sie einfach noch einmal die großgeschriebenen Platzhalter durch den tatsächlichen Benutzer- und Gruppennamen ( devFirms
):
sudo adduser NEWUSER TARGETGROUP
Vielen Dank an Justin Ethier für seine Antwort bei Unix & Linux.SE: Alle Benutzer einer Gruppe zu einer anderen Gruppe hinzufügen?