在使用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必須先定義好,並且用戶屬於這個工作組。