perforce:控制权限而不涉及超级用户访问

时间:2012-11-03 01:14:42

标签: version-control perforce p4v

我们在公司使用perforce并严重依赖它。我需要对以下场景提出一些建议:

我们的Depot结构是这样的:

//depot
    /product1
        /component1
        /component2
        .
        .
        /componentN
            /*.java
            /*.xml
    /product2
        /component1
        /component2
        .
        .
        /componentN
            /*.java
            /*.xml

每个产品都有多个组件,每个组件都包含java或xml或其他一些程序文件。每个组件都有一个与之关联的经理/所有者。

目前,我们已经阻止了每个用户的写入权限,并且只有在代码审核后经理/所有者批准后,我们​​才会为该用户打开要签入的任何文件/文件夹的写入权限。此过程变为有点不整洁,因为经理/开发人员必须等待perforce admin允许权限(更新perforce的保护表)。此外,我们给他们一个只有24小时的窗口来检查(由于敏捷,我不太了解:)),之后我们应该再次阻止该用户的写访问。

我正在寻找的是一种机制,其中perforce管理员可以将此职责委派给相应的经理/所有者,而无需授予他们超级用户或管理员权限,并且在24小时后自动禁用写入权限。

有什么建议吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

本身没有任何东西可以开箱即用。

我能想到的最接近的事情是这些组件的主线版本是否得到了拥有者的组的许可。允许该组的所有者添加和删除该组中的成员,从而将权限委托给“看门人”而不是管理员本身。

如果您需要进一步澄清,请与我们联系。

答案 1 :(得分:1)

一个常见的解决方案是构建一个简单的工具,用于读取和写入保护表,组成员资格等,以实现您所需的策略。

保护和组数据的格式并不复杂,您可以轻松编写一些文本处理代码,根据您的需要编写和重写这些规范。

然后以安全的方式在服务器计算机上安装您的工具,授予该工具更新保护表的权限,并让组件管理员使用该工具来管理权限。

例如,我已经通过编写一个小型Web应用程序(例如Java或Perl),将其安装在安全机器上的Web服务器上,并让组件管理员通过Web界面操作该工具来完成此操作。

您的工具必​​须提供的是(a)组件管理员的简单登录/注销机制(Web服务器可能已经为您执行此操作),(b)获取用户名和文件夹名称的命令授予权限,以及(c)随后删除该权限的命令(或计时器)。