ClearCase的访问控制机制.doc_第1页
ClearCase的访问控制机制.doc_第2页
ClearCase的访问控制机制.doc_第3页
ClearCase的访问控制机制.doc_第4页
ClearCase的访问控制机制.doc_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ClearCase的访问控制机制本文将介绍ClearCase是如何控制对它所保存的数据的访问的。一、ClearCase访问控制的基础ClearCase所实现的访问控制机制决定了哪些用户可以在ClearCase的中创建,读取,书写,运行,和删除数据。访问控制机制由用户之间的交互情况,用户所属的组,ClearCase中的对象和基于用户利益考虑而访问ClearCase数据的用户处理或者是应用程序来决定的。用户和组ClearCase本身不实现自己的用户和组的账号。它依赖于操作系统,通过用户在操作系统中的登录鉴别用户,并由此得到决定用户进行ClearCase操作的权限的用户身份和组成员的资格。UNIX和NT中都提供了能胜任诸如ClearCase这种分布式程序权限要求的用户名和组名的网际数据库。在UNIX中,该数据库是网络信息系统(NFS,Network Information System)。在NT中该数据库则是NT域服务器系统的一部分。在以上两个操作系统中,用户登录系统都必须要有自己的用户名,在ClearCase就把该用户名作为用户身份或叫做用户ID。一个用户ID可以是一个或多个组的成员,在这些组中有一个组叫做用户的主要组(Primary Group)区别与其它所有组。在UNIX中用户的主要组在NIS的PASSWD数据库中用户的一个数据项。在Windows NT中,当创建域用户的账号时就被赋值。ClearCase同时根据用户ID和用户的主要组来决定用户对ClearCase的对象的权限。设置主要组(仅在Windows系统上需要进行)因为Windows NT的一个Bug:用户通过域账号登录域之后就不能更改由Windows NT域账号管理器所指定的该账号的主要组。这就需要为VOB的访问设置可靠的,正确的主要组。为了绕过这个Bug,我们要求将环境变量CLEARCASE_PRIMARY_GROUP设置为正确的主要组。出于使用ClearCase的目的,通过设置CLEARCASE_PRIMARY_GROUP环境变量可以不通过域用户管理器(在Windows NT上)或者计算机MMC控制台中的活动目录用户就可以管理主要组。对CLEARCASE_PRIMARY_GROUP环境变量的赋值除了在VOB的访问中之外并不会引起任何的安全或访问控制上的变化。没有正确设置主要组的用户在创建元素或以其它形式访问VOB时会有问题。CLEARCASE_PRIMARY_GROUP环境变量的指(后面例子中的组名)必须是符合下列所有要求的存在的域的组:该组必须该用户;该组必须在组列表中有显示;它和该用户在UNIX中的主要组组名相同;Windows NT上设置环境变量的步骤:1 按下 开始设置控制面板;2 运行系统程序,并选择环境变量Tab页;3 选择用户变量列表中的一项;4 在变量框中输入CLEARCASE_PRIMARY_GROUP;5 在值编辑框中输入组名;6 按下设置按钮,然后选择OK按钮退出,在下一次登录之后,更改才会生效;Windows 2000上设置环境变量的步骤:1. 按下 开始设置控制面板;2. 运行系统程序,并选择高级Tab页;3. 在高级Tab页中,按下环境变量按钮;7 在变量名称框中输入CLEARCASE_PRIMARY_GROUP;8 在变量值编辑框中输入组名;在Windows95和Windows98的计算机上必须通过修改AUTOEXEC.BAT文件来设置CLEARCASE_PRIMARY_GROUP环境变量的值。有特权的用户和组有些用户和组在ClearCase的访问控制中有着特殊的重要作用。比如,每个ClearCase对象都有其自己的所有者,一般是该对象的创建者,他就有对该对象的特殊的访问权限。加入该对象是个容器对象,比如包含有元素的VOB对象,或者是有拥有私有文件的View对象,则容器对象的所有权将部分地决定谁有访问改容器对象所中的对象。ClearCase中还有一个广泛的概念:特权用户,在本书中它是指被赋予进行某些关键操作的用户ID。在UNIX中,特权用户是指根用户(root user);在Windows NT主机中,特权用户是组名为ClearCase组的组员。关于ClearCase组的信息详情可以参见配置ClearCase域用户。无论是在UNIX还是在Windows NT上,特权用户都有权修改VOB和VOB中的对象。用户处理用户处理是指用户用以访问ClearCase数据而运行的应用程序。该应用程序可以是ClearCase的GUI,像cleartool之类的命令行程序,或者是诸如访问动态View(Dynamic View)中ClearCase数据的文本编辑器之类的非ClearCase程序。当一个用户想读取或者更改ClearCase数据,则为此将进行一个相应的读取或者更改的处理。每个处理都有以下属性,这些对访问控制是非常重要的:用户,启动处理的用户;主要组,启动处理的用户的主要组;追加的组列表,启动处理的用户所属的其它的组;在本章节中,将处理的主要组和其它的组统称为处理的组。ClearCase对象以下ClearCase对象进行访问控制:VOB;元素(Element)和版本(Version);类型和类型的实例,如:标签,分支,和属性;统一变更管理(UCM)的对象,如:项目,文件夹,活动和流;VOB存储区;View;在动态View中,View私有的文件,Views私有的文件夹,以及由这些对象生成的对象;注意:ClearCase Scheduler自己维持访问控制机制。所有上述的对象下列属性中的一个或多个,这些属性和访问控制相关:拥有者,拥有者是个用户。最初的拥有者是进行创建对象处理的用户ID。对于某些对象,最初的拥有者可以被更改;组。最初的组是创建该对象的处理的主要组。对于某些对象,最初的组可以更改;保护模式。有些对象可以拥有保护模式。保护模式分为以下几种:对象的拥有者的保护模式;对象的组的保护模式;其它的保护模式;对ClearCase数据的访问某个处理是否有权限访问一个ClearCase对象是由下列事情决定的:处理的用户和组;对象的用户和组;对象的保护模式,假如有的话;当处理寻求访问一个受保护的对象时,将使用下列算法判断是否批准该访问。1. 处理是否有该对象的拥有者的用户ID?是的:根据对象的拥有者的保护模式批准或者拒绝访问;否:到步骤2;2. 处理是否有该对象组的组ID?是的:根据对象的组的保护模式批准或者拒绝访问否:到步骤3;3. 对根据对象的其它的保护模式批准或者拒绝访问。假如一个对象没有保护模式,则ClearCase根据对象的类别使用不同的规则来决定是否批准访问。具体可以参见后面的VOB和VOB对象的访问控制机制和View对象的访问控制机制。有时候ClearCase只有在处理有权访问包含处理访问的对象的一个或多个容器对象时才批准该处理的访问。比如说,加入用户请求用文本编辑器在动态View中创建View的私有文件时,文本编辑器必须在想要建文件的文件夹和View本身上有写的权限。二、 VOB和VOB对象的访问控制VOB是ClearCase数据的主要存储仓库。VOB本身和VOB中的对象都参与访问控制。这些对象有以下几种:元素和版本;类型和类型的实例,如标签,分支和属性;统一变更管理(UCM)的对象,如:对象,文件夹,活动和流;VOB的存储区域;VOB的访问控制下列VOB的属性和访问控制相关:拥有者。初始的拥有者是创建VOB的处理的拥有者。组。初始的拥有者是创建VOB的处理的主要组;附加组列表。初始的附加组列表在Windows VOB中是空的。而UNIX VOB的附加组列表是VOB拥有者的组列表;VOB没有保护模式。在本章中VOB的主要组和其它组统称为VOB的组。可以使用Cleartool Describe 命令来显示VOB的拥有者,组和附加组列表。在VOB被创建之后,特权用户或者是VOB存储的文件夹所在主机上的本地Administrator用户(在Windows NT上)可以使用Cleartool Protectvob命令更改VOB的拥有者,组和附加组列表。创建VOB的许可任何用户都可以创建VOB。删除VOB的许可只有VOB的拥有者和特权用户才可以删除VOB。读取VOB的许可不可以直接读取VOB。VOB的读取操作是指对VOB中对象的读取操作。具体参见元素的访问控制和其它VOB对象的访问控制。更改VOB的许可不可以直接更改VOB。VOB的更改操作是指对VOB中对象的更改操作。具体参见元素的访问控制和其它VOB对象的访问控制。运行VOB的许可不可以直接运行VOB。VOB的运行操作是指对VOB中对象的运行操作。具体参见元素的访问控制和其它VOB对象的访问控制。元素的访问控制元素的以下属性和访问控制相关:拥有者。初始的拥有者是创建该元素的处理的用户ID;组。初始的组是创建该元素的处理的主要组ID。元素的组必须是它所属的VOB的组之一。保护模式。元素的初始的保护模式在Windows 和UNIX主机上是个不相同的:在UNIX主机上:假如你从一个已经存在的View私有的文件上创建元素,除非没有一类用户有写权限,否则的话该元素和该私有文件的保护模式相同;如果你用其他方法创建文件元素,该文件元素对所有类别的用户都只有读的权限;文件夹元素初始对所有类别的用户都有读,写和运行的权限。在Windows NT上:文件元素初始对所有类别的用户都只有读的权限;文件夹元素初始对所有类别的用户都有读,写和运行的权限。一个元素的拥有者,组和保护模式和它所有的版本都是相同的。你可以使用Cleartool Describe命令,或者在Windows上使用元素的属性对话框来查看元素的拥有者,组和保护模式。元素创建以后,元素的拥有者,所属的VOB的拥有者和特权用户都可以使用cleartool protectvob命令更改元素的拥有者,组和保护模式。创建元素的许可当VOB被创建时,ClearCase会创建一个初始的元素,VOB的根文件夹。该元素是VOB中其它元素的最高级的容器。它的初始的拥有者是VOB的拥有者,初始的组是VOB的组。只有处理的主要组是VOB的组之一时,该处理才可以创建元素。当然该处理还必须要有Check Out要创建的元素所在的文件夹的权限。详见更改元素的许可。删除元素的许可只有元素的拥有者,VOB的拥有者和特权用户才可以删除元素。删除元素可以使用cleartool rmelem 命令,是和从文件夹的某个版本中移除元素不一样。详见更改元素的许可。版本的创建者,元素的拥有者,VOB的拥有者和特权用户就可以删除该版本。读取元素的许可一个考虑了处理的用户和组以及和处理相关的元素的拥有者,组和保护模式的算法决定了是否准许对元素的读取。该算法参看对ClearCase的数据的访问。更改元素的许可处理不能直接更改元素。更改元素是通过更改元素的某一个Check Out的版本,然后Check In 新的版本来完成的。当决定一个处理是否可以Check Out 或者 Check In元素的某一个版本时并不考虑该元素的保护模式。只有以下条件中的某一个成立时处理才可以Check Out版本:处理有元素拥有者的用户ID;处理的某一个组ID和元素的组相同;处理有VOB拥有者的用户ID;处理有特权用户的ID;只有以下条件中的某一个成立时处理才可以Check In版本:处理有Check Out该元素的用户ID;处理有元素拥有者的ID;处理有VOB拥有者的用户ID;处理有特权用户的ID;当一个文件被Check Out时,你可以通过在文件夹中创建元素或者移除元素来修改文件夹。移除元素使用cleartool rmname 命令,它和删除元素本身不一样,详情参见删除元素的许可。运行元素的许可一个考虑了处理的用户和组以及和处理相关的元素的拥有者,组和保护模式的算法决定了是否准许对元素的运行。该算法参看对ClearCase的数据的访问。对其他VOB对象的访问控制除了元素和版本之外,VOB还有以下对象需要进行访问控制:元数据类型。例如:标签类型,分之类型和属性类型;统一更改管理(UCM)对象,例如:项目,活动,文件夹和流;存储区派生的对象总的来说,所有的这些对象都有两个和访问控制相关的属性:拥有者。初始的拥有者是创建该对象的处理的用户;组。初始的组是创建该对象的处理的主要组;你可以用Cleartool Describe命令查看对象的拥有者和组。在对象被创建之后对象的拥有者,所在VOB的拥有者和特权用户可以使用Cleartool Protect 命令改变对象的拥有者和组。对象的组必须是VOB的组中的一个。创建其它VOB对象的许可任何用户都可以创建类型和UCM对象。但只有VOB的拥有者和特权用户可以创建存储区。类型的实例,比如:标签,分支和属性一般来说和元素的某个版本相关联。要创建这些类型的实例,以下条件中的某一个必须成立:处理有元素拥有者的用户ID;处理的组中有于元素组相同的组ID;处理有VOB拥有者的用户ID;处理有特权用户的ID;删除其它VOB对象的许可对象的拥有者,对象所在的VOB的拥有者和特权用户可以删除类型,UCM对象,存储区。诸如标签,分支和属性之类的类型一般和元素的版本相关联。一般来说加入你能创佳一个类型实例,你也可以删除该类型的实例。具体参见创建其它VOB对象的许可。此外,分支的创建者可以删除该分支。读取其它VOB对象的许可任何用户都可以查看类型,UCM对象或者存储区的信息。更改其它VOB对象的许可任何对象都可以更改UCM对象。对象的拥有者,VOB的拥有者和特权用户可以更改类型和存储区。锁定VOB对象ClearCase许可配置被用作为一种长期的访问控制机制。ClearCase还通过在对单个的VOB对象加锁提供一种短暂的访问控制。在最低层,你可以对单个元素,甚至元素的某个分支加锁。在最高层次上,你可以给整个VOB加锁以防止任何对VOB的修改。在对象被加锁之后,任何用户包括特权用户和加锁的用户都无法修改该对象(但特权用户和加锁的用户可以去锁)。Lock命令可以指定可以绕过加锁对对象进行修改的用户。锁定类型对象可以通过锁定类型对象,防止对这些类型对象的实例的修改。例如:你可以将Main分支对除了一个小组的用户之外的所有用户加锁。这个小组可以对所有元素的Main分支进行整合或者和发行相关的清理工作。其它用户可以继续工作,但这可以在其它分支上进行,而不是在Main分支上。锁定一个标签类型,防止任何用户创建和删除该标签。对某个发行版本的所有元素生成标签,然后锁定该标签,这样下次重新生成该发行版本就非常容易了。三、 View和View对象的访问控制View是作为用户访问ClearCase元素和版本的媒介。和VOB以及VOB中的对象一样,View也参与了访问控制机制。为了对VOB和View数据的访问进行控制,在动态View中元素和版本的许可和View及View私有的文件或文件夹的许可必须相互作用,互相配合使用。例如,你需要Check Out元素的某一个版本才能修改该元素。要修改的元素必须能获得Check Out的许可。在动态View中,Check Out一个版本就会生成一个View私有的文件。这时候必需要同时有在View和要创建文件的文件夹中创建文件的许可。在此容器文件夹既可以是一个元素的版本也可以是一个View私有的文件夹。一般来说,要访问动态View中的ClearCase数据,处理必须通过下列测试:处理必须能访问View;处理必须能访问包含数据的文件夹;处理必须能访问该元素;在一个快照View(Snapshot View)中,快照View的文件树的文件系统本身的许可决定了对快照View中包含有元素版本拷贝的文件和文件夹的访问。创建,删除,更改快照View中的元素需要处理有对该元素的恰当的许可。对动态View的访问控制动态View的以下属性和访问控制密切相关:拥有者。初始的拥有者是创建View的处理的用户。组。初始的组是创建View的处理的主要组。保护模式。初始的保护模式在UNIX和Windows NT上各不相同:在Windows NT:View初始时对拥有者和组有读取,修改,运行许可,对其它用户有读取和运行许可。可以通过View的属性对话框来查看View的拥有者,组和保护模式。在View创建之后就不可以修改它的拥有者和组。可以使用chview命令改变View的保护模式为读写或者只读。在UNIX上:初始的保护模式决定于创建View的用户的Umask。Umask是UNIX中指定没有的许可的机制。当用户创建View时,ClearCase给这个View对任何用户都有读取,修改和运行的许可,然后去除用户指定的Umask中的许可。例如当用户的Umask为002时,ClearCase去除了其它用户的修改许可。创建View的许可任何用户都可以创建View。删除View的许可只有View的拥有者和特权用户才能删除View。读取View的许可处理只有同时拥有动态View和要读取的文件或文件夹的读取许可才能读取文件或文件夹。读取某个文件或文件夹元素的版本时,处理还得有该元素的读取许可。具体详见读取元素的许可。读取View私有的文件或文件夹时,处理还得有该文件或文件夹的读取许可。具体详见V读取View私有文件的许可。ClearCase使用了一个考虑处理的用户和组以及View的拥有者,组和保护模式的算法来决定是否批准读取该View的许可。详见对ClearCase数据的访问。修改View的许可处理必须要有修改View的许可才能对View本身进行例如设置View的配置之类的修改。要在文件夹中创建文件或文件夹,处理必须同时拥有在动态View和容器文件夹中修改的许可。如果容器文件是一个元素的版本,那么该处理还得有该元素的修改许可。详见修改元素的许可。如果容器文件夹是一个View私有的文件夹,该处理还必须有对该View私有文件夹修该的许可。详见修改View私有文件夹的许可。ClearCase使用了一个考虑处理的用户和组以及View的拥有者,组和保护模式的算法来决定是否批准读修改View的许可。详见对ClearCase数据的访问。运行View的许可处理必须要同时拥有动态View和View中要运行的文件或文件夹的运行许可才能运行文件或文件夹。为了运行文件或文件夹元素的版本,处理还得有运行该元素的许可。详见运行元素的许可。为了运行View私有的文件或文件夹,处理还得有该View私有的文件或文件夹的许可。详见运行View私有文件的许可。View私有文件的访问控制本章节讨论动态View中的私有文件的访问控制机制。在快照View中,快照View文件树中的文件和文件夹上文件系统本身的许可决定了最这些文件和文件夹的访问。View私有的文件和文件夹的以下属性和访问控制密切相关:拥有者。初始的拥有者是创建文件或文件夹的处理的用户。组。初始的组是创建文件或文件夹的处理的主要组。保护模式。初始的View私有的文件和文件夹的保护模式有两种,一种实在Unix主机上,另一种在Windows NT主机上。在UNIX上:初始的保护模式决定于创建文件或文件夹的用户的Umask。Umask是UNIX中指定没有的许可的机制。当用户创建文件或文件夹时,ClearCase给这个文件或文件夹对任何用户都有读取,修改和运行的许可,然后去除用户指定的Umask中的许可。例如当用户的Umask为002时,ClearCase去除了其它用户的修改许可。在Windows NT主机上:View私有的文件或文件夹初始时对所有的用户都有读取,修改和运行的许可。可以使用Cleartool Describe命令查看View私有的文件或文件夹的拥有者,组和保护模式。ClearCaseProperties Of File和ClearCaseProperties Of Directory对话框可以显示文件和文件夹的拥有者和组。以上两个对话框中的Read-Only复选框决定所有用户是否有写的许可。创建View私有文件的许可处理必须同时拥有View和View中容器文件夹的修改许可才能在该容器文件中创建文件或文件夹。关于View的许可,详见修改View的许可。如果容器文件夹是元素的一个版本,处理还必须有修改该元素的许可。详见修改元素的许可。如果容器文件夹是一个View私有的文件夹,处理还得有修改该View私有的文件夹的许可。详见修改View私有文件的许可。删除View私有文件的许可处理必须同时有View和View中容器文件夹的修改许可才能删除容器文件夹中的文件或者文件夹。关于View的许可详见修改View的许可。如果容器文件夹是元素的一个版本,处理还必须有修改该元素的许可。详见修改元素的许可。如果容器文件夹是一个View私有的文件夹,处理还得有修改该View私有的文件夹的许可。详见修改View私有文件的许可。读取View私有文件的许可处理必须同时拥有读取View和View私有的文件或文件夹的许可才能读取该View私有的文件或文件夹。关于View的许可,详见读取View的许可。ClearCase使用了一个考虑处理的用户和组以及View私有文件或文件夹的拥有者,组和保护模式的算法来决定是否批准读取该View私有文件或文件夹的许可。详见对ClearCase数据的访问。修改View私有文件的许可处理必须同时拥有修改View和View私有的文件或文件夹的许可才能修改该View私有的文件或文件夹。关于View的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论