Есть ли способ предотвратить использование пользователями cvs init?Есть ли способ отключить команду cvs init для демона cvsd?
'cvs init' создает новый репозиторий. Док говорит, что это безопасная операция в существующем репозитории, поскольку она не перезаписывает файлы. Но проблема в том, что административные файлы в CVSROOT будут изменены.
Например, у нас есть скрипт CVSROOT/loginfo, который передает информацию о передаче сообщения в группу рассылки. После выполнения cvs init в этом репо, он заменяется «чистой» версией.
Мы используем cvs 1.12.13 в ящике для Linux, работающем как автономный сервер, и в основном подключаемся к окнам с использованием протокола pserver.
Установка прав в CVSROOT не помогла, так как демон cvsd работает от имени root. (Он должен быть включен в исполняющего пользователя).
Проблема заключается в том, что некоторые пользователи, не знакомые с cvs, пытались создать 'cvs init' вместо 'cvs import' для создания нового модуля.
Gah - демон CVS, я неправильно прочитал. Таким образом, мой ответ не является релевантным, но все же отличным: запретить клиентам выдавать команду init. Кроме того, вы можете перестроить источники демона CVS, чтобы полностью отключить команду init, и вам не придется менять ни одного из клиентов. – apbianco
Спасибо за ваш ответ. Как вы упомянули, это не сработает, потому что мы используем cvs в режиме pserver. Конечно, изменение всех клиентов будет работать, но слишком громоздко. Хуже того, используются разные клиенты (TortoiseCVS, WinCVS, командная строка на обоих окнах и Linux). Поэтому решение должно работать на стороне сервера. – 2009-11-18 11:31:33