每一个服务器配置一个独立的用户数据库设置。用户的权限设置灵活,和本机帐号设置无关(不用设置本地帐号),且和本地路径无关。
如果使能了Lockout功能,则需要建立两个系统管理员帐号,以防止一个被锁定(如多次错误登录被无限期死锁),能用另外一个解锁。
建组原则(假设组名为 team1)
建立用户组和子组
假设组名为 team1,首先建立一个大组 ga_team1 组;再在 team1 组下再建立三个child group: g_team1_admin 组,g_team1_users 组和 g_team1_rdonly 组(即只读组)。
建组的考虑
将权限分配到组,是管理权限的基本原则。因为 starteam 在赋予权限时,是将用户名和组名混在一起,因此为组名加上前缀 “g_” 或者 “ga_”。区分 g_ 和 ga_ 是因为要防止误将权限设置到更大的 ga_ 组中(如后所述)。
组管理员属于 g_team1_admin 组,拥有管理 LABEL 权限,创建新视图,以及管理代码权限分配权限;starteam管理员部分授权,目的是减少starteam管理员的管理负担。提高效率。
小组的其它用户属于 g_team1_users 组,除了不具有 g_team1_admin 组的管理权限外,其它权限同 g_team1_admin。
对于其它有研读代码或者掌握进度需求的用户,如 QA、部门领导等属于 g_team1_rdonly 组,除了具有只读方式看代码权限外,其它同 all users。
建立项目组 ga_project_manager,是独立于项目组(也可以考虑为每个项目组单独设置),进行项目管理。为管理需求变更,在其下建立 g_pm_req;为管理TODO LIST,建立 g_pm_todo组。
分配权限时,要注意不要把权限赋予大组(如 ga_team1 组)。因为 team1 组包括了 g_team1_rdonly 组(只读用户组)! |
关于组本身的权限
除 Administrators 组外,任何组不要设置组的权限,以免组的权限设置超越了项目的安全设置,使对项目的安全设置形同虚设。
在UNIX命令行上进行代码的check in/check out,需要建立独立用户,如:team1_release。以免由于使用同一个用户名在不同工作站check代码,造成文件状态UNKNOWS的情况。参见Starteam Howto中关于文件状态unknown的FAQ。
Starteam VTS 的启动方式设置为NT服务方式
保证服务器重启后,Starteam自动启动。
Starteam 服务器端配置
General
设置登录超时60秒,未动作超时300分钟。
Audits
设置只保留10天安全日志。
Vault
设置不清除文件状态表;
设置最大CACHE为400MB。
设置Cache的文件夹在Valut文件夹之外,以使在备份时,对cache区别对待 (不备份Cache)。
Notifications
使能Email通知。
Protocal
只保留一种协议支持:TCP/IP(SOCKETS),因为别的协议支持有问题;
TCP/IP加密级别:不作设置,但是管理员要通知用户,如果客户端支持传输加密,请至少选择RSA R4 stream加密。windows客户端都支持,但是unix命令行不支持。
访问权限(Access Rights)
管理员完全权限,不赋予其它用户任何权限。
系统策略(System Policy)
Access Rights
使能 Ignore object ownership, 即忽略OwnerShip,一切均按照权限设置。
不选择 Ignore group privileges, 即在保证只有 Administrators 组设置了组权限情况下,允许Administrators组用户超越项目的权限限制实施管理。
Security Events
设置只保留30天的安全日值。
Passwords
设置密钥最小长度6个字符。
在用户管理(User manager)界面,设置所有用户第一次登录必须修改口令,并且不允许设置空口令。
Logon Failures
设置5次失败登录锁定帐号,帐号锁定5分钟。
先打开要配置的工程,Project->Access Rights,来设置工程权限。
Project
All Users
设置所有用户(All Users)具有如下权限:
See Project and Properties
g_xxx_admin
设置组管理员(如:g_team1_admin 组)具有如下权限:
赋予除了 Delete project 外所有权限。以便于管理员修改自身权限,给自己加上删除label权限等,但要注意缺省没有赋予管理员的权限,当管理员完成相应管理功能后,恢复原状。
不能赋给任何人删除工程权限!因为工程删除不可逆。 |
Views
All Users
设置所有用户(All Users)具有如下权限:
See View and its Properties
g_xxx_admin
设置组管理员(如:g_team1_admin 组)具有如下权限:
赋予除了 Delete View, Delete Labels 外所有权限。
Delete View, Delete Labels 不可逆,因此不赋予任何人此权限。但为了减轻管理员负担,赋予了 g_team1_admin 组 change view security setting 权限,g_team1_admin可以修改自己权限,使具有删除 label, 甚至是删除 view 权限,但要注意完成维护功能后,立即去掉该两项权限! |
Child Folders
g_team1_rdonly 组
设置只读组(如:g_team1_rdonly 组)具有如下权限:
具有:See folder and its properties, See folder history, See folder links 权限。
g_team1_users 组
设置普通用户组(g_team1_users 组)具有如下权限:
除 Modify folder properties, Delete folder from parent folder, Change folder security set 外所有权限。
g_team1_admin组
设置组管理员(如:g_team1_admin 组)具有如下权限:
除了 Delete folder from parent folder 外所有权限。
Files
g_team1_rdonly 组
设置只读组(如:g_team1_rdonly 组)具有如下权限:
具有:See file and its properties, See file history, See file links, Check out files 权限。
g_team1_users 组
设置普通用户组(g_team1_users 组)具有如下权限:
除 Change file security set 外所有权限。
g_team1_admin 组
设置组管理员(如:g_team1_admin 组)具有如下权限:
所有权限。
Move folder out of a view or project 权限也是危险操作,文件移出视图,也从历史视图中去掉,可能会破坏完整性。但将文件或目录移动到另外一个视图,是从服务器端删除文件的唯一办法。因此慎用。 |
Change Request
All Users
添加所有用户(All Users),将权限设置为空。即默认禁止一切的策略。
工程的权限设置中的ChildFolders, Files, Change request 等的权限设置,用来确定工程的默认设置。即为没有对各项进行单独权限设置时的默认安全设置。 将 Change Request 定义为默认禁止一切,目的是只在指定目录添加 Change Request. |
All Users
设置所有用户(All Users)具有如下权限:
设置除了 “Change topic security set”,“Delete Topic from folder”外所有权限。提供用户通过 TOPIC 进行讨论以及保存备忘。
设置组管理员(如:g_team1_admin 组)具有所有权限。
先打开要配置的视图,View->Access Rights,来设置视图权限。
根视图
可以不设置权限,继承整个工程中的Project AccessRight的 Views 的各项权限设置。
分支视图
按需设置。可以使老版本的维护由其他人完成,或者进行 xp 模式开发,为开发者(非管理员)设置更大的权限。
选择视图下相应文件夹,鼠标右键单击,选择 Advanced->Access Rights,设置权限。
需要先设置“根目录”权限。再单独设置各一级子目录(defect, src, doc等)的权限。如果需要还可以对二级目录等(模块)设置权限,但不建议设置二级目录的权限。
根目录
根目录和子目录在权限设置上的异同
根目录的权限不传递,即在根目录上设置的权限对派生的子视图没有影响;而非根目录会传递权限,所以尽量不要在子目录(非根目录)上设置权限,以免连带影响其它视图中该目录的权限,造成混乱。
根目录继承视图或者工程的 Child Folder 权限;子目录先继承根目录权限, 再继承视图,工程权限。
因此,不要设置根目录的权限页的 Child Folder 页,这样没有设置权限的子目录便可以继承视图的 Child Folder页的权限。但是可能需要设置根目录权限页的 This Folder 页,因为 This Folder的权限默认取自视图或者工程的 Child Folder 设置。如果有子目录的权限大于视图或者工程的 Child Folder的设置,就需要设置This Folder 设置。但是副作用是,子目录的权限并没有完全继承视图或者工程的更严格的设置,而是采用了根目录的 This Folder 设置和 视图的Subfolder设置的组合(因为根目录没有设置Subfolder权限)。这样有可能使所有能够访问根目录的用户访问整个目录树!!!好像没有更好的解决方案。
根目录上的权限设置:
This Folder
All Users:所有用户(All Users)具有 See folder and its properties, See folder history, See folder links 权限。
g_team1_admin: 组管理员(g_team1_admin)具有:除了Delete folder from parent folder 外所有权限。
Child Folders,Files, Change Requests, Tasks, Topics
不作设置,以继承视图或者工程的权限设置。
Defect目录
This Folder
All Users : 所有用户(All Users)具有—— See folder and its properties, See folder history, See folder links 权限。
g_qa_admin:QA组管理员(g_qa_admin)具有——除了Delete folder from parent folder 外所有权限。
g_team1_admin:team1组管理员(g_team1_admin)具有——除了Delete folder from parent folder 外所有权限。
设置服务QA管理员和team1目录管理权限,允许QA管理员建立子目录,用于对CR分类。 |
Child Folders
All Users:所有用户(All Users)具有——See folder and its properties, See folder history, See folder links 权限。
g_qa_admin:QA组管理员(g_qa_admin)具有——除了Delete folder from parent folder 外所有权限。
g_team1_admin:team1组管理员(g_team1_admin)具有——除了Delete folder from parent folder 外所有权限。
Change Requests
All Users:所有用户(All Users)具有——除了Change CR Security set , Delete CR from folder外所有权限。
g_qa_admin:QA组管理员(g_qa_admin)具有——除了Delete CR from folder 外所有权限。
为了减轻管理员负担,赋予了 g_qa_admin 组 change CR security setting 权限,g_qa_admin可以修改change request的权限,使之可以被删除,再删除该 cr。 |
Files, Tasks, Topics
不另外设置权限,继承视图或者工程的权限。
src 目录
src 目录是用来存放源代码的目录,应着重注意本目录权限设置。
可以不作任何单独设置,因为继承了视图或者工程的权限设置。如果工程或者视图关于文件的权限设置足够安全的话,可以不必设置本目录权限。
ProjectManagement 目录
ProjectManagement 目录,用于以文件和 TOPIC形式存储 TODO_LIST, 编程规范,需求变更。
ProjectManagement 目录
This Folder
All Users :所有用户具有—— See folder and its properties, See folder history, See folder links 权限。
ga_project_manager 组 :具有——除 Modify folder properties, Delete folder from parent folder, Change folder security set 外所有权限。
g_team1_admin组 :具有——除 Delete folder from parent folder 外所有权限。
Child Folders
All Users :所有用户具有—— See folder and its properties, See folder history, See folder links 权限。
ga_project_manager 组 :具有——除 Modify folder properties, Delete folder from parent folder, Change folder security set 外所有权限。
g_team1_admin组 :具有——除 Delete folder from parent folder 外所有权限。
Files
All Users:具有——See file and its properties, See file history, See file links, Check out files 权限。
ga_project_manager:普通用户组具有——除了 Change file security set, Delete file from folder 外的所有权限。
g_team1_admin:组管理员具有——除了 Delete file from folder 外的所有权限。
Topic
All Users:具有——除了 Change top security set, Delete topic from forder 外所有权限。
g_team1_admin:具有——除了 Delete topic from forder 外所有权限。
Change
暂不设置,采用工程缺省禁用配置。
TODO LIST子目录
所有用户具有只读文件,读写TOPIC权限;g_pm_todo 组 和 g_team1_admin组具有读写文件,读写topic,和整理目录权限。
编程规范
所有用户都有整理目录,读写topic权限;g_team1_admin 多了一项管理文件的权限。
需求变更
所有用户具有只读文件,只读TOPIC权限;g_pm_req 组 和 g_team1_admin 组具有读写文件,读写topic,和整理目录权限。
数据库可以有多种选择,但是ACCESS基本可以满足需求,虽然有1.2G文件大小限制,但一般应用不会超过。数据库的选择不是性能瓶颈。
安装和使用 Copy Indexes Tools in "StarTeam VirtualTeam Server 4.0\Tuning Scripts\MS Access\Package"。
压缩数据库;(ODBCàsystem dsn)
增加数据库的Max Buffer size从2048至8192,Threads 从3至 24。
增加Cache目录文件大小至400M;
将文件状态表导出时间从180天减少到30天;
将审计导出时间从不导出更改为30天导出;
在客户端设置Allow check out of deltas "Tools | Workstation | Files "Optimize for slow connection.""
参见 http://devforum.starbase.com/starbase/Articles/Default.asp?id=206
备份涉及到:
The Configuration and cipher files
Configuration\server.scg
Configuration\server.cph
Database files
Database\StarTeamDB.mdb (Assuming Access database)
Vault:
Archive dir: *.*
Attachments dir: *.*
Optional
Cache dir: *.*
参见http://devforum.starbase.com/starbase/Articles/Default.asp?id=133
Copyright © 2006 WorldHello 开放文档之源 计划 |