在使用Cliosoft SOS的时候,我们通常会以用户组的方式定义权限。
当权限出现交叉的时候,需要对工作内的MEMBER进行多次定义。
是否有一种类似于SVN的方式,定义一个用户组,然后将这个用户组添加到工作组的MEMBER中实现快速管理呢!!!!
答案当然是有。。
一、用户组
——————————————————————————
打开sosd.cfg,然后设置一个用户组
set group1 {user1 user2 user3}
set group2 {user1 user3 user4}
set group3 {user1 user2 user4}
使用set命令,后跟自定义用户组名,使用{}方式添加成员,成员使用空格分割。
工作组MEMBER引用
GROUP design {
MEMBER testuser1;
MEMBER $group1;
MEMBER $group2;
}
GROUP test {
MEMBER testuser3;
MEMBER $group1;
MEMBER $group3;
}
定义两个工作组design和test,在定义用户的时候,MEMBER 后面可以直接添加用户名,也可以添加用户组信息。
用户组信息需要用 $ 符号明确它是一个用户组,多个MEMBER用分号 ; 分割。
一、权限组
——————————————————————————
定义一个组,名为:TAGGER,可以执行快照、打tag、取消tag等权限
ROLE TAGGER {
COMMAND snapshot, tag, tag-B, modattr;
}
以上写法代表TAGGER可以执行命令(COMMAND),可执行的命令是快照(snapshot),打tag(tag),取消tag(tag-B),修改属性(modattr) ,命令之间用逗号 , 分割。
权限组的权限分为 全局权限 和局部权限。
1、全局权限
若想配置一个全局TAGGER权限的用户组,则在sosd.cfg文件中直接定义。
TAGGER zhangsan,lisi;
代表zhangsan,lisi有权限对全局所有文件有快照、tag、修改权限的信息
2、局部权限
如果定义局部权限,则需要将TAGGER写入到group中实现
GROUP design {
MEMBER testuser1;
MEMBER $group1;
MEMBER $group2;
TAGGER zhangsan,lisi;
}
GROUP test {
MEMBER testuser3;
MEMBER $group1;
MEMBER $group3;
}
这里我在design中定义了TAGGER信息,则zhangsan,lisi则仅有权限对design工作组的所有文件有权限进行快照、tag等操作。
三、分配默认组
——————————————————————————
当一个用户拥有了多个组之后,需要对用户分配一个默认组,否则用户将以定义的第一个工作组为默认组(sosd.cfg文件自上而下)
如何为分配一个默认组:
USER user1 {
DEFAULT_GROUP test;
}
在这里,我们将user1的默认用户组分配为test。
此操作的前提:工作组 GROUP必须先定义好,并且用户属于这个工作组。