2

我正在客户端站点上使用 cvs 存储库,并通过 ssh (CVS_RSH=ssh) 进行签入。

我的默认组是“foo”,我也是“bar”的成员。

存储库应该可由组“bar”的成员访问。但是,每当我进行签入时,它会将我签入的文件组更改为“foo”。这使得文件对仅在组“bar”中的人只读。

有没有办法告诉 cvs 保持正确的组设置?还是我需要制作一个特殊版本的 ssh 来通过连接执行“newgrp bar”?或者这只是一个需要更新的古老版本的 CVS。

4

2 回答 2

2

好吧,CVS 实际上没有二进制和可执行文件之外的文件元数据。

你可以做几件事

  • 在您希望它保留的服务器目录上执行 chmod g+s bar
  • 编写一个小的 shell 包装器来替换真正的 cvs,然后执行 chgrp 并调用真正的 cvs。
于 2008-12-18T20:51:18.087 回答
0

可能的答案:

  • 登录时使用 sg 或 newgrp 切换组
  • 提前在存储库上使用 chmod -R g+s 来安排适当的访问
  • 切换到使用 pserver 并将每个人映射到皮肤下的同一个用户(尽管意味着一些维护)

如果您无法更改存储库的操作方式,第一个答案是唯一真正有用的答案。在 Linux 上,这仅取决于您为当前会话切换组 ID 的能力,这两个给定命令都启用。

过去,对于我管理的存储库,我倾向于使用第三种方法。

于 2008-12-18T21:48:53.117 回答