CVS игнорирует бит setgid для каталогов

Я администрирую сервер CVS (CVS 1.11.23 на CentOS 6.9, с отключенным SELinux).

Я установил бит setgid во всех каталогах репозитория, как показано на этой странице, чтобы новые файлы и каталоги принадлежали cvs группа, независимо от того, кто их совершает:

$ ls -al
drwxrwsr-x+ 407 root       cvs    20480 Jun 19 05:34 .
drwxr-xr-x.   5 cvs        cvs     4096 Nov 11  2014 ..
drwxrwsr-x+   3 cvs        cvs     4096 Aug 18 16:07 CVSROOT
drwxrwsr-x+  20 cvs        cvs     4096 Aug 18 16:00 test

Но начиная с недавнего времени, когда кто-то фиксирует, новые каталоги создаются без бита setgid (обратите внимание на "x" вместо "s" в последней строке):

$ ls -al test
drwxrwsr-x+  20 cvs    cvs   4096 Aug 18 16:00 .
drwxrwsr-x+ 407 root   cvs  20480 Jun 19 05:34 ..
drwxrwxr-x+   2 jw     cvs   4096 Aug 18 15:51 foo

В результате файлы, добавленные в эти каталоги, не принадлежат cvs группа, которая приводит к ошибкам разрешения позже.

Это происходит как с клиентом CVS из командной строки, так и с клиентом Eclipse, используя методы соединения pserver и extssh.

Что может заставить его игнорировать бит setgid?

Я попытался добавить скрипт commitinfo, чтобы напечатать некоторую информацию о пользователе, выполняющем коммит. Это не показывает ничего необычного; Umask 0022, так что это не должно влиять на вещи.

0 ответов

Другие вопросы по тегам