Journal Acces distant et cvs

Posté par  .
Étiquettes : aucune
0
28
nov.
2003
Bonjour,

je vous soumet un petit probleme lie a un acces distant et a cvs.
- J'ai une machine que j'administre
- Je veux donner acces a une personne tierce a mon cvs en read/write
- Je ne veux pas que la dite peronne puisse se loguer sur ma machine

Mon cvs tourne dans un chroot.
L'acces a la machine se fait exclusivement en ssh.

Basiquement, il faut que :
$> ssh -luser mamachine
=> logout automatique

$> export CVSROOT=:ext:user@mamachine:/myrepository
$> export CVS_RSH=ssh
$> cvs commit
=> ca marche

J'ai commence a faire ceci :
1- ajout de l'utilisateur dans le systeme et dans le chroot
2- modification de /etc/passwd pour que son bash soit /bin/false, et son home soit /

Resultat : il ne peut pas se connecter en ssh.
Mais actuellement, il ne peut pas non plus faire un commit avec cvs (ni un checkout d'ailleurs)

Un repository en :ext dit a cvs d'utiliser la commande CVS_RSH (ici ssh) pour se connecter a la machine. Il me semble que cvs passait donc directement a ssh la commande a lancer, soit un cvs distant.
Ca n'a pas l'air d'etre le cas. Ou alors ssh utilise le shell de /etc/passwd d'abord et lance ensuite la commande recue. (ca paraitrait logique)

J'ai donc essaye de remplace /bin/false par un /bin/execcvs de mon cru qui simule un bash qui n'execute qu'une seule commande : il lit sur stdin une commande, verifie que la commande est bien une commande cvs, l'execute et se tue. Sinon il ne fait rien et se tue.

L'acces cvs distant ne marche toujours pas.
Une idee ? Des liens ?
  • # Re: Acces distant et cvs

    Posté par  (site web personnel) . Évalué à 2.

    Essaie de voir dans VHFFS (vhffs.org) comment c'est géré, parce que c'est comme ça qu'ils font je crois. Sur TuxFamily par exemple, on ne peut pas se logger via ssh, mais l'accès R/W aux CVS se fait via SSH.
    • [^] # Re: Acces distant et cvs

      Posté par  . Évalué à 1.

      Oui, c'est une bonne idée, j'y avais pas pense.
      Le problème c'est qu'il va falloir que j'attende ce soir pour recuperer leurs sources (ils filent des package debian et un acces cvs, mais pas de sources pre packagees)

      Et leur cvsweb a l'air dans les choux.

      suspense pour la solution ...
  • # Re: Acces distant et cvs

    Posté par  . Évalué à 1.

    Utilise GNU-Arch, c'est beaucoup mieux http://www.gnu.org/software/gnu-arch/(...)
    Ah non pardon, ce n'est pas une solution.

    As-tu jeté un coup d'oeil au document d'idealx sur ssh+cvs ?
    http://www.idealx.org/prj/idx-chrooted-ssh-cvs/index.en.html(...)
    • [^] # Re: Acces distant et cvs

      Posté par  . Évalué à 1.

      Oui, c'est avec ce document que j'ai cree le chroot et les scripts qui vont autour. Un peu modifie quand meme.
  • # Re: Acces distant et cvs

    Posté par  (site web personnel, Mastodon) . Évalué à 0.

    A priori, j'aurais tout simplement utilisé /sbin/nologin comme shell, ce qui devrait suffire avec ssh. Ensuite il faudrait je pense lui filer un home (et les groupe quivontbien) du style /home/cvs où tu met ton arbo. Bref, je dis ça en l'air, j'ai pas testé...

    Sinon, ce que tu cherches s'appelle pserver, mais ce n'est pas sécurisé, cependant il y a un how-to qui traine là : http://www.tldp.org/HOWTO/Secure-CVS-Pserver/(...)

    Bon bidouillage...
    • [^] # Re: Acces distant et cvs

      Posté par  . Évalué à 1.

      Non, pserver ne me convient pas.

      pserver est autorise pour l'utilisateur anonymous en read-only et c'est tout.
      J'ai configure mon repository cvs et mon chroot pour qu'uniquement les personnes passant par ext puissent ecrire.

      Et ca marche tres tres bien. Je suis pratiquement le seul codeur actif du projet, et je me sert de mon compte avec :ext tous les jours : ca marche bien.
      Une nouvelle personne arrive sur le projet, s'implique et propose de belles idees. J'ai envie de preparer la machine pour qu'il puisse ecrire lui aussi dans le cvs. Sans pour autant lui filer un acces a la machine.

      Je vais jeter un coup d'oeil a nologin je ne connais pas. Sinon il n'a pas besoin de home puique grosso modo la sequence est la suivante :

      1- l'utilisateur lance cvs
      2- cvs utilise ssh comme tunnel pour se connecter en distant
      3- sur la machine distante, ssh lance cvs
      4- le cvs lance par ssh est en fait un binaire qui met en place le chroot et va lancer le vrai cvs a l'interieur de ce chroot
      5- le vrai cvs s'execute normalement a l'interieur du chroot

      Il aurait besoin d'un home si je lui filait un veritable acces a la machine. Ce que je ne veux pas faire.
      • [^] # Re: Acces distant et cvs

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        J'utilise quotidiennement (enfin, dans les bonnes semaines;) un pserver cvs avec un accès rw, donc soit je me gourre, soit tu te gourres... de plus sur cette machine je ne peux pas non plus me loguer... donc il y a bien une solution simple qui existe avec pserver !
        • [^] # Re: Acces distant et cvs

          Posté par  . Évalué à 1.

          Oui, bien sur pserver marche tres bien, pas de probleme, mais tu te trompes de sujet !
          pserver envoie le mot de passe en clair. Je pourrai m'en contenter sur un intranet, mais certainement pas sur le grand ternet.

          Donc, pour des raisons de securite (c'est cette notion la qui dois t'echapper), j'utilise cvs
          - en pserver pour les acces en read only
          - en ext (via ssh) pour les acces en read-write
  • # Re: Acces distant et cvs

    Posté par  (site web personnel) . Évalué à 1.

    tu peux simplement donner aux personnes concernées un shell personnalisé du genre de http://savannah.nongnu.org/cgi-bin/viewcvs/*checkout*/gforge/gforge(...)
    qui n'accepte que des commandes cvs (en particulier "login shell" ->[]).
    Bon, au niveau de la sécurité je garantis rien hein ;-) meme si je n'ai pas vu de faille (comme je fais raisonnablement confiance aux utilisateurs en question, je n'ai pas vraiment cherché non plus)

    Sigma.
    • [^] # Re: Acces distant et cvs

      Posté par  . Évalué à 1.

      Excellent, merci !
      Ca a l'air de correspondre exactement a ce que je cherchais !
      • [^] # Re: Acces distant et cvs

        Posté par  . Évalué à 1.

        Non seulement ca correspond, mais en plus ca marche, donc pour ceux que ca interresse, la configuration ultime (oui, bon, ca existe deja sur savannah, sourceforge, et tuxfamily)

        - cvs dans un chroot via l'howto de idealx
        - acces en readonly (a cause de l'envoi du password en clair) via pserver pour l'utilisateur anonymous
        - acces en read-write via ssh en mode ext pour les utilisateurs de confiance
        - pour les utilisateurs ayant des droits d'ecriture mais pas assez de confiance pour avoir un acces a la machine, utiliser un shell restreint style grap

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.