Cette section décrira comment le mettre en place, administrer et sécuriser un serveur CVS.
CVSserver dépend de cvs-1.11.5 et openssh-3.6.1p1. |
Nous allons discuter comment mettre en place un serveur CVS en utilisant OpenSSH en tant que méthode d'accès à distance. D'autres méthodes d'accès, incluant :pserver: et :server:, ne seront pas utilisées pour des 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 sur tous les ports CVS. Des instructions pour l'accès anonyme, en lecture seule, utilisant :pserver:, peuvent être trouvées à la fin de cette section.
La configuration de notre serveur CVS consiste en quatre étapes:
Créez le nouveau dépôt CVS avec les commandes suivantes, connecté en tant que root:
mkdir /cvsroot && chmod 1777 /cvsroot && export CVSROOT=/cvsroot && cvs init |
Importez un module source dans le dépôt avec les commandes suivantes, envoyé à partir du compte utilisateur sur la même machine que le dépôt CVS:
export CVSROOT=/cvsroot && cd sourcedir && cvs import -m "repository test" cvstest vendortag releasetag |
Testez l'accès au dépôt CVS pour le même compte utilisateur avec la commande suivante:
cvs co cvstest |
Testez l'accès au dépot CVS d'une machine distante en utilisant un compte utilisateur qui a un accès ssh au serveur CVS avec les commandes suivantes:
Note : Remplacez "nom_serveur" avec l'adresse IP ou le nom d'hote de la machine du dépot CVS. Le nom du compte utilisateur va vous etre demandé avant que le CVS checkout puisse continuer.
export CVS_RSH=/usr/bin/ssh && cvs -d:ext:nom_serveur:/cvsroot co cvstest |
CVS peut etre configuré pour permettre l'accès anonyme en lecture seule en utilisant la méthode :pserver: pour se connecter en tant que root et exécuter les commandes suivantes:
(grep anonymous /etc/passwd || useradd anonymous -s /bin/false) && echo anonymous: > /cvsroot/CVSROOT/passwd && echo anonymous > /cvsroot/CVSROOT/readers |
Si vous utilisez inetd, la commande suivante ajoutera l'entrée pserver à /etc/inetd.conf:
echo "2401 stream tcp nowait root /usr/bin/cvs cvs -f \ --allow-root=/cvsroot pserver" >> /etc/inetd.conf |
Envoyez un killall -HUP inetd pour relire le fichier inetd.conf modifié.
Si vous utilisez xinetd, la commande suivante ajoutera l'entrée pserver à /etc/xinetd.conf:
cat >> /etc/xinetd.conf << "EOF" service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/bin/cvs server_args = -f --allow-root=/cvsroot pserver } EOF |
Envoyez un killall -HUP xinetd pour relire le fichier xinetd.conf modifié.
Testez l'accès anonyme pour le nouveau dépot requiert un compte sur une autre machine qui peut atteindre le serveur CVS via le réseau. Aucun compte est nécessaire dans le dépot CVS. Pour tester l'accès anonyme au dépot CVS, connectez-vous sur une autre machine en tant qu'utilisateur non privilégié et exécutez la commande suivante:
cvs -d:pserver:anonymous@nom_serveur:/cvsroot co cvstest |
Note : Remplacez "nom_serveur" avec l'adresse IP ou le nom d'hote du serveur CVS.
mkdir /cvsroot : Créez le répertoire du dépôt CVS.
chmod 1777 /cvsroot : Permission 'Sticky bit' pour CVSROOT.
export CVSROOT=/cvsroot : Spécifie le nouveau CVSROOT pour toutes les commandes cvs.
cvs init : Initialise le nouveau dépôt CVS.
cvs import -m "repository test" cvstest vendortag releasetag : Tous les modules de code source doivent être importés dans le dépôt CVS avant utilisation, avec la commande cvs import. L'option -m spécifie une entrée initiale de descriptions pour le nouveau module. Le paramètre "cvstest" est le nom utilisé pour le module dans toutes les commandes cvs subséquentes. Les paramètres "vendortag" et "releasetag" sont utilisés pour mieux identifier chaque module CVS et sont nécessaires qu'ils sont utilisés ou non.
(grep anonymous /etc/passwd || useradd anonymous -s /bin/false) : Vérifie l'existence d'un utilisateur anonyme et en crée un si nécessaire.
echo anonymous: > /cvsroot/CVSROOT/passwd : Ajoute l'utilisateur anonyme dans le fichier passwd de CVS, qui est inutilisé pour tout autre chose dans cette configuration.
echo anonymous > /cvsroot/CVSROOT/readers : Ajoute l'utilisateur anonyme dans le fichier readers de CVS, une liste d'utilisateurs qui ont un accès en lecture seule au dépôt.
Précédent | Sommaire | Suivant |
BIND 9.2.2 | Niveau supérieur | dhcp-3.0pl2 |