Что такое режим CVS "pserver"?

Может ли кто-нибудь сказать мне, что такое режим pserver в отношении CVS? Термин "pserver" используется часто, но мне еще предстоит найти объяснение того, что это на самом деле. Если "pserver" - это особый режим, я предполагаю, что есть режим по умолчанию. Если да, в чем разница между этими двумя?

Ответы

Ответ 1

pserver - это метод предоставления удаленного доступа к репозиторию CVS. В основном вы запускаете cvs в качестве сервера, прослушивающего порт 2401.

Режим "по умолчанию" - это локальный доступ, в котором разработчик имеет учетную запись на системе, в которой размещен репозиторий CVS, и обращается к его каталогу и файлам напрямую. Поэтому для локального репозитория CVSROOT будет просто каталог:

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

Хотя, если вам нравится, вы можете явно указать, что это репозиторий local:

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

Для подключения pserver необходимо указать еще несколько: хост, в котором работает репозиторий, наше имя пользователя и путь к репо на этом хосте:

CVSROOT=:pserver:[email protected]:/opt/path/to/my/repo

Лучшим режимом удаленного доступа для репозитория CVS будет ext, который может использоваться для доступа к репозиторию через SSH.

CVSROOT=:ext:[email protected]:/opt/path/to/my/repo
CVS_RSH=ssh

Ответ 2

Это небезопасный способ удаленного доступа к репозиторию CVS, который отлично подходит для анонимного доступа.

Ответ 3

cvs работает как сервер. В настоящее время на типичном Linux (возможно, на unices тоже), что означает, что он присутствует в файле inetd.conf.

Теперь есть все важные CVSROOT, то есть каталог, используемый для хранения архивов cvs например.

export CVSROOT =/usr/local/cvsroot

Из-за архитектуры клиент-сервер этот CVSROOT может быть расположен на другом и вам нужно иметь учетную запись на этой машине для доступа к ней:

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

Вам будет предложено ввести имя пользователя и пароль для: albert @sparc: только для пароль. Это вы, наверное, уже знаете.

В практической ситуации (например, с выделенным cvs-сервером) вам не нужны учетные записи пользователей для сервера с доступом к cvs файлам. Вы хотите, чтобы файлы cvs принадлежали пользователю cvs (возможно, с ограниченными полномочиями), и без пользователей, работающих на ваших серверах. Человек, который администрирует пользователей cvs, вероятно, менее осведомлен и менее доверен, чем системный администратор сервера.

Сервер pserver также является сервисом, присутствующим в inetd.conf cvs-сервера. Он перехватывает сообщение на cvs и всегда работает как пользователь cvs (или то, что вы сказали в inetd.conf). Затем он выполняет аутентификацию с использованием отдельного файла passwd. Если вам удастся войти в систему с именем пользователя и паролем из этого файла, pserver позаботится о том, чтобы ваши команды cvs выполнялись с использованием привилегий пользователя cvs.