Alle Benutzer in einer Gruppe zu einer anderen Gruppe hinzufügen?

8

Ich habe einige Benutzer in einer Gruppe namens aaund ich muss ihnen die Rechte geben, in einen Ordner zu schreiben, der gerade ist tomcat:tomcatdeploy.

Der einfachste Weg, dies zu tun, besteht darin, alle Benutzer einzeln zur tomcatdeployGruppe hinzuzufügen .

Kann man sagen, dass Mitglieder einer Gruppe aaauch automatisch Mitglieder sind, tomcatdeployindem man die aaGruppe irgendwie zur Gruppe hinzufügt tomcatdeploy?

Oder versucht das, das UNIX-Berechtigungsschema zu weit zu treiben?

Reich
quelle

Antworten:

7

Sie können den lidBefehl verwenden, um eine Liste der Benutzer abzurufen aa, und die Schleife über dieser Liste, um sie hinzuzufügen tomcatdeploy:

for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done
Justin Ethier
quelle
for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done(Ich nehme an, Sie meinten $uin usermod, nicht nur u)
asoundmove
Guter Fang! Ich habe gerade den Code in meiner Antwort korrigiert.
Justin Ethier
10

Sie haben nicht erwähnt, auf welcher Plattform Sie sich befinden, aber ein Linux-System aus den letzten 5 Jahren (oder wahrscheinlich mehr) unterstützt zusätzlich zu den herkömmlichen Unix-Dateisystemberechtigungen ACLs. Mithilfe von ACLs können Sie dem Verzeichnis mit Schreibzugriff die zweite Gruppe hinzufügen:

$ setfacl -m group:2ndtomcatdeploy:rwx target_directory

Sie können getfacldie ACLs anzeigen und ls -lam Ende der üblichen Zeichenfolge im symbolischen Modus ein '+' anzeigen.

Wil Cooley
quelle