Ajouter tous les utilisateurs d'un groupe à un autre groupe?

8

J'ai des utilisateurs dans un groupe appelé aaet je dois leur donner les droits d'écrire dans un dossier qui est actuellement tomcat:tomcatdeploy.

La manière la plus simple de procéder consiste à ajouter tous les utilisateurs au tomcatdeploygroupe, un par un.

Est-il possible de dire que les membres du groupe aasont également automatiquement membres de tomcatdeployen ajoutant en quelque sorte le aagroupe au tomcatdeploygroupe?

Ou est-ce que cela tente de pousser le schéma d'autorisations UNIX trop loin?

Riches
la source

Réponses:

7

Vous pouvez utiliser la lidcommande pour obtenir une liste d'utilisateurs aaet la boucle sur cette liste pour les ajouter à tomcatdeploy:

for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done
Justin Ethier
la source
for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done(Je suppose que vous vouliez dire $udans usermod, pas seulement u)
asoundmove
Bonne prise! Je viens de corriger le code dans ma réponse.
Justin Ethier
10

Vous n'avez pas mentionné la plate-forme sur laquelle vous vous trouvez, mais un système Linux des 5 dernières années (ou plus, probablement) prend en charge les ACL, en plus des autorisations de système de fichiers Unix traditionnelles. En utilisant les ACL, vous pouvez ajouter le 2ème groupe au répertoire avec un accès en écriture:

$ setfacl -m group:2ndtomcatdeploy:rwx target_directory

Vous pouvez utiliser getfaclpour afficher les ACL et ls -laffichera un «+» à la fin de la chaîne de mode symbolique habituelle.

Wil Cooley
la source