The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа

Запуск сервера CVS

Запуск сервера CVS

Этот раздел описывает установку, администрирование и защиту CVS сервера.

Зависимости сервера CVS

Требуемые

CVS-1.11.18 и OpenSSH-3.9p1

Установка сервера CVS.

Сервер CVS будет установлен с использованием OpenSSH в качестве метода удаленного доступа. Другие методы доступа, включая :pserver: и :server: не будут использованы для доступа на запись в CVS репозитарий. Метод :pserver: отсылает чистые текстовые пароли через сеть, а метод :server: не поддерживается всеми портами CVS. Инструкции для анонимного доступа к CVS и доступа только для чтения используя :pserver: могут быть найдены в конце этого раздела.

Настройка CVS сервера состоит из четырех шагов:

1. Создание репозирария

Создадим новый CVS репозирарий запуском следующих команд:

mkdir /srv/cvsroot &&
chmod 1777 /srv/cvsroot &&
export CVSROOT=/srv/cvsroot &&
cvs init

2. Импорт исходных текстов в репозитарий.

Импортируем исходные модули в репозитарий при помощи следующих команд, выполненных под регистрацией пользователя на той же машине, на которй находится CVS репозирарий:

cd [sourcedir] &&
cvs import -m "[repository test]" [cvstest] [vendortag] [releasetag]

3. Проверка локального доступа к репозитарию.

Проверим доступ к CVS репозитарию из под того же пользователя следующей командой:

cvs co cvstest

4. Проверка удаленного доступа к репозитарию.

Проверим доступ к CVS репозитарию с удаленной машины, используя регистрацию пользователя, имеющего ssh доступ к серверу CVS при помощи следующих команд:

[Замечание]

Замечание

Замените [servername] на IP адрес или имя хоста машины CVS репозитария. У вас будет запрошен пароль регистрации оболочки пользователя перед тем, как проверка CVS сможет продолжиться.

export CVS_RSH=/usr/bin/ssh &&
cvs -d:ext:[servername]:/srv/cvsroot co cvstest

Конфигурация CVS для анонимного доступа и доступа только для чтения.

CVS может быть настроен для доступа в режиме только для чтения для анонимных пользователей используя метод :pserver:. Для этого зарегистрируйтесь как root и выполните следующие команды:

(grep anonymous /etc/passwd || useradd anonymous -s /bin/false) &&
echo anonymous: > /srv/cvsroot/CVSROOT/passwd &&
echo anonymous > /srv/cvsroot/CVSROOT/readers

Если вы используете inetd, то следующая команда добавит содержимое pserver в /etc/inetd.conf:

echo "2401  stream  tcp  nowait  root  /usr/bin/cvs cvs -f \
    --allow-root=/srv/cvsroot pserver" >> /etc/inetd.conf

Выполните команду killall -HUP inetd для перечитывания измененного файла inetd.conf.

Если вы используете xinetd, следующая команда добавит содержимое pserver в /etc/xinetd.conf:

cat >> /etc/xinetd.conf << "EOF"
     service cvspserver
     {
          port        = 2401
          socket_type = stream
          protocol    = tcp
          wait        = no
          user        = root
          passenv     = PATH
          server      = /usr/bin/cvs
          server_args = -f --allow-root=/srv/cvsroot pserver
     }
EOF

Выполните команду /etc/rc.d/init.d/xinetd reload для перечитывания измененного файла xinetd.conf.

Тестирование анонимного доступа в новый репозитарий требует учетной записи на другой машине, с которой можно дотянуться до сервера CVS через сеть. Необходимо отсутствие учетной записи в CVS репозитарии. Для проверки анонимного доступа в CVS репозитарий зарегистрируйтесь на другой машине как обычный пользователь и выполните следующую команду:

cvs -d:pserver:anonymous@[servername]:/srv/cvsroot co cvstest
[Замечание]

Замечание

Замените [servername] на IP адреса или имя хоста сервера CVS.

Описание команд

mkdir /srv/cvsroot: Создает директорию CVS репозитария.

chmod 1777 /srv/cvsroot: Устанавливает бит "приклеивания" в правах доступа CVSROOT.

export CVSROOT=/srv/cvsroot: Описывает новый CVSROOT для всех cvs команд.

cvs init: Инициализирует новый CVS репозитарий.

cvs import -m "repository test" cvstest vendortag releasetag: Все модули исходного кода должны быть импортированы в CVS репозитарий перед использованием командой cvs import. Флаг -m описывает начальное дескрипторное содержимое для нового модуля. Параметр "cvstest" является именем, используемым для модуля во всех последующих cvs командах. Параметры "vendortag" и "releasetag" используются для дальнейшей идентификации каждого CVS модуля и являются обязательными, используются они или нет.

(grep anonymous /etc/passwd || useradd anonymous -s /bin/false): Проверяет наличие анонимного пользователя и создает его, если не находит.

echo anonymous: > /srv/cvsroot/CVSROOT/passwd : Добавляет анонимного пользователя в файл паролей CVS, который не используется ни для чего другого в этой конфигурации.

echo anonymous > /srv/cvsroot/CVSROOT/readers: Добавляет анонимного пользователя в файл CVS readers - список пользователей, имеющих доступ в репозитарий только для чтения.

Последнее обновление 2004-10-04 14:05:27 -0600




Спонсоры:
Inferno Solutions
Ideco
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру