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 Thomas Petazzoni (site web personnel) . Évalué à 2.
[^] # Re: Acces distant et cvs
Posté par Epsos . Évalué à 1.
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 jmfayard . Évalué à 1.
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 Epsos . Évalué à 1.
# Re: Acces distant et cvs
Posté par nojhan (site web personnel, Mastodon) . Évalué à 0.
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 Epsos . Évalué à 1.
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 nojhan (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: Acces distant et cvs
Posté par Epsos . Évalué à 1.
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 Yann Hodique (site web personnel) . Évalué à 1.
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 Epsos . Évalué à 1.
Ca a l'air de correspondre exactement a ce que je cherchais !
[^] # Re: Acces distant et cvs
Posté par Epsos . Évalué à 1.
- 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.