Perforce权限设置-小结

http://bbs.scmlife.com/thread-29235-1-1.html

 

Perforce下权限管理

    Perforce中权限修改是使用p4 protect命令显示出临时文本,在其中做添加或修改动作来控制UserGroup的权限。这里按照角色创建相应分组,按照权限最小化设置。

1Perforce安装后初始配置1.1执行“p4 passwd”命令设置管理员密码并登陆

初 始administrator没有密码,所以一开始要做login,肯定就会告诉你You don't have permission for this operation. set完password之后,p4 login就具有权限了. (如果本机存在多个用户,想使用什么用户登录,就在该用户的View中执行open commond window here,再执行p4 login即可)
(注:红色符号位默认登录用户,蓝色为目前登录用户)

) t" f! t8 l! c3 t

1.2执行“p4 counter -f security 1”设置安全级别

安全级别共0、1、2、3四个选项,默认选择为0,一般选择1即可。设置OK后,需要重新启动服务,才能生效。
“0”级别:不需要密码,如果设置了密码,密码强度没有要求。
“1”级别:密码必须设置,已有的密码不需要重设。密码强度没有要求。
“2”级别:密码必须用p4 passwd在prompt端设置,有一定的密码强度求,
采用的是ticket-based认证方式。
“3”级别:必须ticket-based authentication认证方式登录,密码中必须包
含字母大小写,以及数字。等较强的密码强度要求。
(注释:如果在上面一步出现You don't have permissionfor this operation.提示的话,
说明之前已经有其他用户进行过"p4 protect"操作.意思就是已经有别的用户抢夺了
superuser权限并且把其他人的权限都锁定在superuser以下权限级别.把perforce安装目录
下面db.protect文件删掉就好了.之后security protect就解除了. 不赞同这种操作方式,
以前设置信息将不再存在了)

2,权限文件设置      2.1角色划分

            原来公司代码配置库CC权限配置:查看权限和修改权限是分开管理的,由域管理组控制
开发人员的查看权限,trigger组控制开发人员操作权限。最小的控制单元是按照子系统来
划分的。
(注:用户角色大体有:
中心级CM、项目级CM、开发人员、其他人员:
中心级CM:权限最高是系统管理员(用trigger控制创建Project、CCCQ
关联、创建Pvob、vob组件等。
         项目级CM:项目中权限最高的人员,文件删除,创建开发流,开发
权限trriger控制、版本移交(开发流之间的归并)
         开发人员:项目代码具有修改权限的人员代码CO、CI文件增加。
         其他人员:具有代码读取权限的人员,查看源程序。规范检查。)
公司Perforce权限控制组策略:
     配置管理员组:group_cm可以设置成超级管理员组,用于权限控制,depot创建,人员清理。
                 super group cm_group * //…/
      开发人员权限组:<项目名称>_write_group用于普通开发人员开发代码,文件增加、删除、
修改。write group <项目名称>_write_group * //<项目路径>/…
其他人员权限组:<项目名称>_read_group用于其他需要查看审计代码权限的人员。
(我看目前的权限控制表此类权限用的较少,可以省略)
read group <项目名称>_write_group * //<项目路径>/…
     开发组长组:<项目名称>_admin_group介于管理员普通开发人员的级别,可以实现非服务器端
所有的操作。admin group <项目名称>_admin_group* //<项目路径>/…

2.2权限设置操作

2.2.1增加用户
1,p4 user <用户名拼音>
判断用户是否存在,如果存在加后缀编号,再判断。
2,p4 user -f <用户名拼音>
   增加不存在的用户,
3,p4 passwd  <用户名拼音>
   增加用户密码默认:yangxun0215
2.2.2增加访问组   
1,p4 group <group名称>
   增加访问组,并添加访问人员
2.2.3 添加访问组权限
1,p4 login---àp4 protect ,显示权限更改文件。
(建议经常备份该文件,以防配置出错导致数据丢失)
2.2.4 通知受益人
请他们实施验证,反馈结果。

2.3 字段含义介绍

P4 protect 权限设置格式:

1 G- H0 i4 |2 d2 ~' r6 _$ E8 l* A
Protections:9 Q/ K  j; G7 n' x  R, S6 B
read        user      emily      *            //depot/elm_proj/...5 F9 m4 {# ]$ B
write      group      devgrp      *            //...
write      user      *          195.3.24.*   -//...8 s6 k4 K% ]; [4 f. o) v
write      user      joe        *            -//.... o5 T! z: t0 K" V
write      user      lisag      *            -//depot/...
write      user      lisag      *            //depot/doc/...
super      user      edk        *            //...
+ k3 W4 x  Z+ h8 `! a

格式:访问权限    用户/用户组    用户名/组名    主机名    //…文件路径经
(“…”表示遍历该目录、及其子目录所有文件及文件夹。” * ”表示该目录下的文件)
访问级别:
  
Level
  
  
Meaning
  
  
list
  
  
只允许执行显示文件属性的命令,不允许查看或更改文件。
  
  
read
  
  
可以读取文件,像p4 client和p4 sync命令,read包含list的权限。
  
  
open
  
  
可以读取文件内容和更改文件内容,但不允许提交变更。 Open权限包含read和list权限。
  
  
write
  
  
这个权限授予修改、删除、增加权限,包含read、list、open权限。
  
这个命令可以执行除了protect、depot、obliterate、and verify.其他命令都可以执行。
  
  
review
  
  
包含list和read权限,做代码review
  
  
admin
  
  
管理员,赋予影响数据的权限,而非服务器的操作。提供write和review,修改其他用户的branch配置,客户端配置,job配置、label配置。修改描述。更新类型匹配。验证和删除文件。
  
  
super
  
  
超级管理员
  
什么用户需要获取什么权限?
1, 最简单的方法是对不需要管理员权限的人,都赋予write权限。这并不充足。
2, 如果用户针对特殊文件不需要修改权限只是读取权限的话,可以赋予read权限,例如第三方库或是编译工具文件。
3, 因为open权限可以本地更改文件,但是不允许将更改的文件写回depot,


2.4,阻止用户自动创建设置

当一个不存在用户名的用户发出命令的时候,Perforce会自动创建一个用户。
Perforce管理员可以关闭这种创建用户的功能,通过将所有的认证的用户分配给一个组。
并且仅允许访问这个认证的组。
去掉write user* * //…
注:
Perforce权限控制级别和元素
Perforce命令对应的权限级别:
如下表格显示了执行特别命令所需要的最小权限级别,Example:执行p4 add
最少需要有open的权限。所以如果你有open、write、super、admin权限就可以
执行p4 add命令。

  
Command
  
  
Access Level
  
  
Command
  
  
Access Level
  
  
add
  
  
open
  
  
jobspec b
  
  
admin
  
  
admin
  
  
super
  
  
label a e
  
  
open
  
  
annotate
  
  
read
  
  
labels a b
  
  
list
  
  
branch e
  
  
open
  
  
labelsync
  
  
open
  
  
branches
  
  
list
  
  
license
  
  
super
  
  
change e
  
  
open
  
  
lock
  
  
write
  
  
changes a
  
  
list
  
  
login
  
  
list
  
  
client e
  
  
list
  
  
logout
  
  
list
  
  
clients
  
  
list
  
  
monitor
  
  
list f  
  
  
counter c
  
  
review
  
  
obliterate
  
  
admin
  
  
counters
  
  
list
  
  
opened
  
  
list
  
  
delete
  
  
open
  
  
passwd
  
  
list
  
  
depot a b
  
  
super
  
  
print
  
  
read
  
  
depots a
  
  
list
  
  
protect a
  
  
super
  
  
describe
  
  
read
  
  
protects g
  
  
list
  
  
describe -s
  
  
list
  
  
reopen
  
  
open
  
  
diff
  
  
read
  
  
resolve
  
  
open
  
  
diff2
  
  
read
  
  
resolved
  
  
open
  
  
dirs
  
  
list
  
  
revert
  
  
open
  
  
edit
  
  
open
  
  
review a
  
  
review
  
  
filelog
  
  
list
  
  
reviews a
  
  
list
  
  
files
  
  
list
  
  
set
  
  
list
  
  
fix
  
  
open
  
  
sizes
  
  
list
  
  
fixes a
  
  
list
  
  
submit
  
  
write
  
  
fstat
  
  
list
  
  
sync
  
  
read
  
  
group b
  
  
super
  
  
tag
  
  
open
  
  
groups a
  
  
list
  
  
tickets
  
  
none
  
  
have
  
  
list
  
  
triggers
  
  
super
  
  
help
  
  
none
  
  
typemap
  
  
admin b
  
  
info
  
  
none
  
  
unlock e
  
  
open
  
  
integrate d
  
  
open
  
  
user a b
  
  
list
  
  
integrated
  
  
list
  
  
users a
  
  
list
  
  
job b e
  
  
open
  
  
verify
  
  
admin
  
  
jobs a
  
  
list
  
  
where a
  
  
none
  
posted @ 2015-04-28 15:46  alxe_yu  阅读(4364)  评论(0)    收藏  举报