CVS.Система управления параллельными версиями



         

Настройка сервера для парольной аутентификации - часть 2


Если нет, или файл `CVSROOT/passwd' не существует, то сервер пытается проверить пароль, используя системную процедуру проверки пользователя (это может быть запрещено, установив SystemAuth=no в файле конфигурации, see section Файл конфигурации CVSROOT/config). При использовании файла `CVSROOT/passwd' сервер выполняется с правами пользователя, указанного в третьем поле соответствующей строки, или, если третьего поля нет, то в первом (таким образом CVS позволяет использовать ненастоящие имена пользователей, если в `CVSROOT/passwd' заданы соответствующие им настоящие системные имена. В любом случае, CVS не получит дополнительных прав, кроме тех, что уже имеет пользователь.

С помощью файла `CVSROOT/passwd' можно также отобразить пользователей CVS в имена пользователей машины, добавив двоеточие и системное имя пользователя после пароля. Например: cvs:ULtgRLXo7NRxs:kfogel generic:1sOp854gDF3DY:spwang anyone:1sOp854gDF3DY:spwang

Таким образом, пользователи, обращающиеся по сети к репозиторию на faun.example.org, используя команду cvs -d :pserver:cvs@faun.example.org:/usr/local/cvsroot checkout foo

будут работать с сервером, который имеет права пользователя kfogel, если, конечно, они успешно аутентифицировались. При этом сетевые пользователи не знают системный пароль пользователя kfogel, потому что файл `CVSROOT/passwd' может содержать другой пароль, используемый только CVS-сервером. Как показано в вышеприведенном примере, можно отображать разные имена пользователей CVS в единственного системного пользователя.

Эта возможность создана, чтобы позволить доступ к репозиторию без полного доступа к системе (в частности, см. section Доступ к репозиторию только для чтения); однако, смотри также section Прямое соединение с парольной аутентификацией. Любой доступ к репозиторию, скорее всего, подразумевает также некоторый доступ к системе вообще.

В настоящее время единственный способ поместить пароль в `CVSROOT/passwd' -- это вырезать его откуда-нибудь еще. Когда-нибудь появится команда cvs passwd.В отличие от других файлов в `$CVSROOT/CVSROOT', вы редактируете файл `CVSROOT/passwd' напрямую, а не с помощью CVS.


Содержание  Назад  Вперед