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?

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

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.