Quelqu'un pourrait-il me dire exactement ce que le mode "pserver" est, en ce qui concerne CVS? Le terme "pserver" est fréquemment utilisé, mais je n'ai pas encore trouvé d'explication sur ce que c'est réellement. Si "pserver" est un mode spécial, alors je suppose qu'il y a aussi un mode par défaut. Si oui, quelle est la différence entre les deux?Qu'est-ce que le mode "pserver" de CVS?
Répondre
pserver
est un procédé permettant d'accéder à distance au référentiel CVS. Fondamentalement, vous exécutez cvs
comme un serveur d'écoute sur le port 2401.
Le mode «par défaut» serait l'accès local, où un développeur a un compte sur le système hébergeant le référentiel CVS et accède directement à son répertoire et à ses fichiers. Donc, pour un dépôt local CVSROOT
serait juste répertoire:
CVSROOT=/opt/path/to/my/repo
Bien que, si vous le souhaitez, vous pouvez indiquer explicitement ceci est un local
respository:
CVSROOT=:local:/opt/path/to/my/repo
Pour une connexion pserver
nous devons préciser certaines de plus, l'hôte du référentiel est en cours d'exécution, notre nom d'utilisateur, et le chemin vers la prise en pension sur cet hôte:
CVSROOT=:pserver:[email protected]:/opt/path/to/my/repo
Une meilleure mo de pour l'accès à distance pour un référentiel CVS serait ext
qui peut être utilisé pour accéder à un référentiel via SSH.
CVSROOT=:ext:[email protected]:/opt/path/to/my/repo
CVS_RSH=ssh
Il s'agit d'une manière non sécurisée d'accéder à distance à un référentiel CVS, ce qui est idéal pour un accès anonyme.
cvs s'exécute en tant que serveur. De nos jours sur un linux typique (probablement aussi sur des unices) cela signifie qu'il est présent dans le fichier inetd.conf.
Maintenant, il y a le tout important CVSROOT, c'est-à-dire un répertoire utilisé pour stocker les archives cvs par exemple.
export CVSROOT =/usr/local/cvsroot
En raison de l'architecture client-serveur ce CVSROOT peut être situé à une machine différente et vous devez avoir un compte sur cette machine pour y accéder:
export CVSROOT =: sparc:/usr/local/cvsroot
Vous êtes invité à entrer un nom d'utilisateur et un mot de passe, pour: albert @ sparc: uniquement pour un mot de passe . C'est probablement ce que tu sais déjà.
En situation pratique (comme avec un serveur cvs dédié), vous ne voulez pas de comptes utilisateur pour le serveur ayant accès aux fichiers cvs. Vous voulez que les fichiers cvs appartenant à un utilisateur cvs (peut-être avec des privilèges serrés) et aucun utilisateur exécutant des shells sur vos serveurs. La personne qui administre cvs-users est probablement moins informée et moins fiable que l'administrateur système du serveur.
Un pserver est également un service, présent dans le fichier inetd.conf du serveur cvs. Il intercepte la communication à cvs et s'exécute toujours en tant qu'utilisateur cvs (ou ce que vous avez dit dans le fichier inetd.conf). Ensuite, il effectue une authenciation en utilisant un fichier passwd séparé.Si vous parvenez à vous connecter avec un nom d'utilisateur et un mot de passe à partir de ce fichier, pserver veille à ce que vos commandes cvs soient exécutées en utilisant les privilèges de l'utilisateur cvs.
Merci Dave! C'était une explication complète et excellente :) –