什么是CVS“pserver”模式?

时间:2010-01-05 15:19:30

标签: cvs

有人可以告诉我究竟什么是“pserver”模式,关于CVS?术语“pserver”经常使用,但我还没有找到它实际上是什么的解释。如果“pserver”是特殊模式,那么我假设也有一个默认模式。如果是这样,两者之间有什么区别?

3 个答案:

答案 0 :(得分:25)

pserver是一种用于远程访问CVS存储库的方法。基本上,您将cvs作为侦听端口2401的服务器运行。

“默认”模式是本地访问,其中开发人员在托管CVS存储库的系统上拥有一个帐户,并直接访问其目录和文件。因此,对于本地存储库CVSROOT将只是目录:

CVSROOT=/opt/path/to/my/repo

虽然如果你愿意,你可以明确说明这是一个local存储库:

CVSROOT=:local:/opt/path/to/my/repo

对于pserver连接,我们必须指定更多,运行存储库的主机,用户名以及该主机上repo的路径:

CVSROOT=:pserver:username@hostname:/opt/path/to/my/repo

用于远程访问CVS存储库的更好模式是ext,可用于通过SSH访问存储库。

CVSROOT=:ext:username@hostname:/opt/path/to/my/repo
CVS_RSH=ssh

答案 1 :(得分:3)

远程访问非常适合匿名访问的CVS存储库是一种不安全的方式。

答案 2 :(得分:0)

cvs作为服务器运行。 如今在典型的Linux上(可能也是unices)意味着它存在于文件中 的inetd.conf。

现在有了所有重要的CVSROOT,这是一个用于存储cvs档案的目录 e.g。

导出CVSROOT = / usr / local / cvsroot

由于客户端 - 服务器架构,这个CVSROOT可以位于不同的位置 机器,您需要在该计算机上拥有一个帐户才能访问它:

export CVSROOT =:sparc:/ usr / local / cvsroot

您提示输入用户名和密码:albert @ sparc:仅用于a 密码。你可能已经知道了。

在实际情况下(例如使用专用的cvs-server),您不需要用户帐户 对于可以访问cvs文件的服务器。您想要用户cvs拥有的cvs文件 (可能具有严格的权限)并且没有用户在您的服务器上运行shell。管理cvs-users的人可能不如服务器的系统管理员知识渊博且不太信任。

pserver也是一种服务,存在于cvs-server的inetd.conf中。它拦截了沟通 到cvs并且总是作为cvs用户运行(或者你在inetd.conf中告诉过的)。 然后它使用单独的passwd文件进行身份验证。如果您设法使用此文件中的用户名和密码登录,pserver会注意使用cvs用户的权限执行您的cvs命令。