Как контролировать права доступа к файлам в хранилище CVS? - PullRequest
2 голосов
/ 25 января 2011

В настоящее время некоторые пользователи имеют свой umask, настроенный таким образом, что разрешает выполнение для обычных файлов, чего я бы хотел избежать .

Есть ли способ заставить все проверенные файлы быть прочитанными только с некоторыми исключениями?

Каков рекомендуемый способ справиться с этим в CVS?

Ответы [ 2 ]

1 голос
/ 16 апреля 2014

Наблюдение за опцией команды Cvs также препятствует восстановлению прав доступа к файлам.Если смотреть, когда файл извлечен, он будет доступен только для чтения.С man-страниц cvs:

$ cvs watch --help_options

Usage: cvs watch {on|off|add|remove} [-lR] [-a <action>]... [<path>]...

on/off: turn on/off read-only checkouts of files

Итак, используйте cvs watch off filename, чтобы удалить извлечение из хранилища, делая его доступным только для чтения.

0 голосов
/ 22 июня 2012

Я не уверен, что это лучшее решение, но я бы, вероятно, сделал что-то с файлом cvswrappers в каталоге репозитория CVSROOT, используя commitinfo, commitcheck и commit_prep.pl. Если у вас нет commit_prep.pl, вы можете использовать что-то вроде этого:

http://opensource.apple.com/source/cvs/cvs-29/cvs/contrib/commit_prep.pl

В Интернете довольно много примеров, так что просто ищите эти коммит * файлы, если у вас их еще нет в репо.

Обратите внимание, что, как следует из этого поста, разрешение действительно устанавливается только во время первой фиксации файла, после чего вам нужно будет "вручную" изменить разрешение для самого репозитория.

Как добавить разрешение на выполнение файла в CVS после того, как он уже зарегистрирован?

В файле commit_prep.pl вы можете очистить разрешение exec, используя chmod ugo-x, перед тем, как файл будет зафиксирован в первый раз.

В этом решении предполагается, что вы используете Linux.

...