Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite
  • Дозатор
  • Настенные наливные! Дозаторы Element пластиковые и металлические! Звоните
  • nova-snab.ru

Lines Club

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

Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 11. Системные утилиты Вперед

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

В настоящем разделе описывается, как настраивать, администрировать и безопасно использовать сервер CVS.

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

Обязательные

CVS-1.11.23 и OpenSSH-5.9p1

Настройка сервера CVS

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

Конфигурирование сервера 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 через ssh:

Замечание

Замените <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 -u 98) &&
echo anonymous: > /srv/cvsroot/CVSROOT/passwd &&
echo anonymous > /srv/cvsroot/CVSROOT/readers

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

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, то с помощью следующей команды создайте для CVS файл /etc/xinetd.d/cvspserver:

cat >> /etc/xinetd.d/cvspserver << "EOF"
# Begin /etc/xinetd.d/cvspserver

     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
     }

# End /etc/xinetd.d/cvspserver
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 -u 98): Проверяет существование пользователя anonymous и создает его, если он не найден.

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

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

Описание сервера

Установленные программы: Нет

Установленные библиотеки: Нет

Установленные директории: /srv/cvsroot

Перевод сделан с варианта оригинала, датированного 2011-11-16 04:12:05 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет CVS-1.11.23   Пакет DejaGnu-1.5


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют