Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Создание общего репозитория CVS

Автор: mensh, 8 ноября, 2008
Система
  • CVS

Для создания репозитория CVS, совместно используемого группой пользователей, вначале создается владелец и группа, которым будет принадлежать репозиторий:

root@localhost:~:# groupadd cvsusers
root@localhost:~:# useradd -g cvsusers -u 103 cvs

Затем создается репозиторий:

root@localhost:~:# mkdir /cvsroot
root@localhost:~:# chown -R cvs /cvsroot
root@localhost:~:# chown -R 770 /cvsroot
root@localhost:~:# cvs -d /cvsroot init
root@localhost:~:# chgrp cvsusers /cvsroot
root@localhost:~:# chmod g+s /cvsroot

Для предоставления пользователям доступа к репозиторию они включаются в группу cvsusers (любой пользователь из группы cvsusers сможет импортировать проект в репозиторий).

Включить пользователя в группу cvsusers можно прямым редактированием файла /etc/group:

root@localhost:~:# mcedit /etc/group
...
cvsusers:x:103:oleg

Выполняется переход в каталог с проектом, который будет импортирован в репозиторий:

oleg@localhost:~:$ cd ~/webprojects/linuxcookbook/

Каталог (дерево каталогов) импортируется в репозиторий:

oleg@localhost:~/webprojects/linuxcookbook:$ \
> cvs -d /cvsroot import linuxcookbook mensh version1

Аргументы mensh (метка поставщика) и version1 (номер версии) необходимы для нормальной работы CVS.

Запускается текстовый редактор по умолчанию со следующим текстом:

CVS: Enter log. Lines beginning with `CVS:` are removed automatically
CVS:
CVS:----------------------------------------------------------------------

Вводимое описание проекта должно быть внятым и подробным, чтобы через какое-то время не пришлось гадать, о чем идет речь.

После введения описания проекта, сохранения и закрытия происходит импорт:

cvs import: Importing /cvsroot/linuxcookbook/content
N linuxcookbook/content/passwordfilesintegrity.html
N linuxcookbook/content/cvslocalrepositorycreating.html
N linuxcookbook/content/groupadd.html
N linuxcookbook/content/cupsservinglinuxclients.html
N linuxcookbook/content/sudo.html
N linuxcookbook/content/cddvdrecordintro.html
...

No conflicts created by this import

Владельцами нового проекта является пользователь, который его импортировал, и группа cvsusers:

oleg@localhost:~:$ stat /cvsroot/linuxcookbook
 File: `/cvsroot/linuxcookbook`
 Size: 144 Blocks: 0 IO Block: 4096 Каталог
Device: 306h/774d Inode: 19058 Links: 6
Access: (2775/drwxrwsr-x) Uid: ( 1000/ oleg) Gid: ( 103/cvsusers)
Access: 2008-11-06 19:58:48.000000000 +0500
Modify: 2008-11-06 19:58:49.000000000 +0500
Change: 2008-11-06 19:58:49.000000000 +0500

Для защиты от внешнего доступа файлов репозитория CVS настоятельно рекомендуется задать всем пользователям маску umask равную 007, для чего в файл ~/.bashrc каждого пользователя можно включить строку:

umask 007

Последние материалы

  • Файловый менеджер Thunar
    1 day ago
  • Эмулятор терминала Terminator
    6 days ago
  • Приложение scanimage
    1 week 4 days ago
  • Утилита sensors
    2 weeks 1 day ago
  • Сканер Rkhunter
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru