【问题标题】:perforce: controlling permissions without involving super user accessperforce:控制权限而不涉及超级用户访问
【发布时间】:2012-10-23 16:36:03
【问题描述】:

我们在我的公司中使用 perforce,并且非常依赖它。对于以下场景,我需要一些建议:

我们的 Depot 结构是这样的:

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

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

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

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

有什么建议吗?

提前致谢。

【问题讨论】:

    标签: version-control perforce p4v


    【解决方案1】:

    就其本身而言,没有什么可以开箱即用。

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

    如果您需要进一步说明,请告诉我。

    【讨论】:

    • 非常感谢。我明白了。让我进一步探索这个选项。
    【解决方案2】:

    一个常见的解决方案是构建一个简单的工具来读取和写入保护表、组成员资格等,以实施您想要的策略。

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

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

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

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

    【讨论】:

    • 感谢您的回复。你的想法非常好。我还注意到上述答案中的另一个信息。我可能会结合这两个想法来提出一个工具。再次感谢您的详细步骤。这对我很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多