在perforce中撤销用户权限

Revoke user permission in perforce

P4 保护命令 returns 用户的权限,例如下面。

p4 protects

read group user_group * //PROJECT1/...
list group user_group * //CENTER/USA/Connect/...,*
write user daniel.richter  * //APPS/Auto/Source/CENTER/China/Areos.csv
write user daniel.richter  * //APPS/Auto//Source/CENTER/China/NFE/CoreAs.csv
write group CENTER_CHINA_HP_NW_WRITE * //CENTER/China/HP_NW/ENGINE_SUB/...
list group user_group * -//POST/3G/...
list group user_group * -//PROJ/2005/DevTools/...
list group user_group * -//PROJ/STACK/Flow/...
list group user_group * -//GROUP1/OMR/EXAMPLE/...
list group user_group * -//APPS/Protect/APPS/...
list group user_group * -//APPS/Protect/Group/Apps.txt

根据上面的输出,可以remove/revoke使用p4命令强制用户的权限吗?手动编辑保护 table 是一个耗时的过程,因为我需要撤销多个用户的权限。所以,我需要帮助。谢谢!

由于您已经设置了使用群组的权限(daniel.richter 的特殊情况除外),您可能只想从群组中删除该用户 user_group and/or CENTER_CHINA_HP_NW_WRITE 而不是将每个用户的特定排除项添加到保护 table 本身。你可以 运行:

p4 groups USERNAME

查看用户所属的组,然后:

p4 group GROUPNAME

编辑组。

以上两个命令都可以在任何脚本语言中很容易地自动执行。使用 P4Python 从所有组中删除用户的简单脚本可能如下所示:

from P4 import P4
import sys

user = sys.argv[1]

p4 = P4()
with p4.connect():
    for line in p4.run_groups(user):
        group = p4.fetch_group(line['group'])
        group['Users'].remove(user)
        p4.save_group(group)
C:\Perforce\test\python>p4 groups bob
mygroup

C:\Perforce\test\python>python remove_from_groups.py bob

C:\Perforce\test\python>p4 groups bob

C:\Perforce\test\python>