CVS忽略目录上的setgid位

我pipe理CVS服务器(CentOS 6.9上的CVS 1.11.23,禁用SELinux)。

按照本页的build议,我在所有的资源库目录上设置了setgid位 ,这样新的文件和目录就被cvs组所拥有,而不pipe谁提交它们:

 $ 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位创build新的目录(注意最后一行中的“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组,这会导致稍后的权限错误。

使用pserver和extssh连接方法,命令行CVS客户端和Eclipse客户端都会发生这种情况。

什么可能导致它忽略setgid位?

我试着添加一个commitinfo脚本来打印关于用户进行提交的一些信息。 没有什么不寻常的 umask是0022,所以不应该影响东西。