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