2008-12-18 6 views
2

Je travaille avec un référentiel cvs sur un site client, et je fais un checkin via ssh (CVS_RSH = ssh).Obtenir CVS à chgrp à l'enregistrement

Mon groupe par défaut est "foo", et je suis également membre de "bar".

Le référentiel doit être accessible aux membres du groupe "bar". Cependant, chaque fois que je fais un checkin, cela change le groupe du fichier que j'ai enregistré en "foo". Cela rend le fichier en lecture seule pour les personnes qui sont uniquement dans le groupe "barre".

Existe-t-il un moyen de dire à cvs de conserver le bon réglage de groupe? Ou ai-je besoin de faire une version spéciale de ssh pour exécuter "newgrp bar" sur la connexion? Ou est-ce juste une ancienne version de CVS qui doit être mise à jour.

+0

Il semble que le setguid soit la solution. Merci tout le monde. –

Répondre

2

Eh bien, CVS n'a vraiment aucune métadonnée de fichier en binaire et exécutable.

Il y a quelques choses que vous pouvez faire

  • font bar d'un chmod g + sur le répertoire du serveur où vous voulez rester bar
  • écrire un petit emballage shell qui remplacera les cvs réels , fais un chgrp et appelle les vrais cvs après.
0

Réponses possibles:

  • utilisation sg ou Newgrp pour passer les groupes lors de la connexion
  • utilisation chmod -R g + s sur le dépôt à l'avance pour un accès adéquat
  • passage à l'aide de la pserver et mapper tout le monde au même utilisateur sous la peau (implique cependant une certaine maintenance)

La première réponse est la seule vraiment utile si vous ne pouvez pas m ake change la façon dont le référentiel est exploité. Sous Linux, cela dépend de votre capacité à changer d'ID de groupe pour la session en cours, ce que permettent les deux commandes.

Dans le passé, j'avais tendance à privilégier la troisième approche pour les référentiels que je gère.

Questions connexes