Библиотека сайта rus-linux.net
Beyond Linux From Scratch. Version 2011-12-30 | ||
Назад | 11. Системные утилиты | Вперед |
Запуск сервера CVS
В настоящем разделе описывается, как настраивать, администрировать и безопасно использовать сервер CVS.
Зависимости сервера CVS
Обязательные
Настройка сервера 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
ЗамечаниеЗамените |
Пояснение команд
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 |