Exécution d'un serveur CVS

Exécution d'un serveur CVS

Cette section va décrire la manière de paramétrer, d'administrer et de sécuriser un serveur CVS.

Dépendances de CVS Server

Requises

CVS-1.11.23 et OpenSSH-5.9p1

Paramétrage d'un serveur CVS.

On va paramétrer un serveur CVS en utilisant OpenSSH comme méthode d'accès à distance. Les autres méthodes d'accès, comme :pserver: et :server:, ne seront pas utilisées pour l'accès en écriture au dépôt CVS. La méthode  :pserver: envoie les mots de passe en clair sur le réseau et la méthode  :server: n'est pas supportée dans tous les ports CVS. Vous pouvez trouver des Instructions pour un accès anonyme en lecture seule au serveur CVS en utilisant la méthode :pserver: à la fin de cette section.

La configuration d'un serveur CVS tient à quatre étapes :

1. Créer un dépôt.

Créez un nouveau dépôt CVS avec les commandes suivantes :

mkdir /srv/cvsroot &&
chmod 1777 /srv/cvsroot &&
export CVSROOT=/srv/cvsroot &&
cvs init

2. Importer le code source dans le dépôt.

Importez un module source dans le dépôt avec les commandes suivantes exécutées à partir d'un compte utilisateur sur la mâme machine que le dépôt CVS :

cd <sourcedir> &&
cvs import -m "<depot test>" <cvstest> <vendortag> <tagversion>

3. Vérifiez l'accès au dépôt local.

Testez l'accès au dépôt CVS depuis le même compte utilisateur avec la commande suivante :

cvs co cvstest

4. Vérifier l'accès distant au dépôt.

Testez l'accès au dépôt CVS à partir d'une machine distante en utilisant un compte utilisateur ayant un accès ssh au serveur CVS avec les commandes suivantes :

[Note]

Note

Remplacez <nomserveur> par l'adresse IP ou le nom d'hôte de la machine du dépôt CVS. On vous invitera à entrer le mot de passe du compte shell de l'utilisateur avant de poursuivre la récupération.

export CVS_RSH=/usr/bin/ssh &&
cvs -d:ext:<nomserveur>:/srv/cvsroot co cvstest

Configuration de CVS pour un accès anonyme en lecture seule.

CVS peut être réglé pour autoriser l'accès anonyme en lecture seule en utilisant la méthode :pserver: en se connectant en tant qu'utilisateur root et en exécutant les commandes suivantes :

(grep anonymous /etc/passwd || useradd anonymous -s /bin/false -u 98) &&
echo anonymous: > /srv/cvsroot/CVSROOT/passwd &&
echo anonymous > /srv/cvsroot/CVSROOT/readers

Si vous utilisez inetd, la commande suivante ajoutera l'entrée CVS à /etc/inetd.conf :

echo "2401  stream  tcp  nowait  root  /usr/bin/cvs cvs -f \
    --allow-root=/srv/cvsroot pserver" >> /etc/inetd.conf

Faites un killall -HUP inetd pour relire le fichier inetd.conf modifié.

Si vous utilisez xinetd, la commande suivante créera le fichier CVS en tant que /etc/xinetd.d/cvspserver :

cat >> /etc/xinetd.d/cvspserver << "EOF"
# Début de /etc/xinetd.d/cvspserver

     service cvspserver
     {
          port        = 2401
          socket_type = stream
          protocol    = tcp
          wait        = no
          user        = root
          passenv     = PATH
          server      = /usr/bin/cvs
          server_args = -f --allow-root=/srv/cvsroot pserver
     }

# Fin de /etc/xinetd.d/cvspserver
EOF

Faites un /etc/rc.d/init.d/xinetd reload pour lire le fichier xinetd.conf modifié.

Le test de l'accès anonyme au nouveau dépôt exige un compte sur une autre machine, qui peut atteindre le serveur CVS par le réseau. Aucun compte n'est nécessaire sur le dépôt CVS. Pour tester l'accès anonyme au dépôt CVS, connectez-vous à une autre machine en tant qu'utilisateur non privilégié et exécutez la commande suivante :

cvs -d:pserver:anonymous@<nomserveur>:/srv/cvsroot co cvstest
[Note]

Note

Remplacez <nomserveur> par l'adresse IP ou le nom d'hôte du serveur CVS.

Explication des commandes

mkdir /srv/cvsroot : Crée le répertoire du dépôt CVS.

chmod 1777 /srv/cvsroot : Met des droits sur be bit sticky pour CVSROOT.

export CVSROOT=/srv/cvsroot : Spécifie le nouveau CVSROOT pour toutes les commandes cvs.

cvs init : Initialise le nouveau dépô] CVS.

cvs import -m "repository test" cvstest vendortag releasetag : Tous les modules du code source doivent être importés dans le dépôt CVS avant d'être utilisés, avec la commande cvs import. Le drapeau -m spécifie une entrée descriptive de départ pour le nouveau module. Le paramètre cvstest est le nom utilisé pour le module dans toutes les commandes cvs consécutives. Les paramètres vendortag et releasetag sont utilisés pour identifier davantage le module CVS et ils sont obligatoires qu'on l'utilise ou pas.

(grep anonymous /etc/passwd || useradd anonymous -s /bin/false -u 98) : Vérifie l'existence d'un utilisateur anonymous et en crée un s'il n'en trouve pas.

echo anonymous: > /srv/cvsroot/CVSROOT/passwd : Ajoute l'utilisateur anonymous au fichier passwd de CVS, qui n'est pas utilisé hors de cette configuration.

echo anonymous > /srv/cvsroot/CVSROOT/readers : Ajoute l'utilisateur anonymous au fichiers readers (lecteurs) de CVS, une liste des utilisateurs ayant un accès en lecture seule au dépôt.

Contenu

Programmes installés: Aucun
Bibliothèques installées: Aucune
Répertoires installés: /srv/cvsroot

Last updated on 2011-11-16 05:12:05 +0100