CN1584843A - 操作系统分区中的细粒度特权 - Google Patents
操作系统分区中的细粒度特权 Download PDFInfo
- Publication number
- CN1584843A CN1584843A CNA2004100631363A CN200410063136A CN1584843A CN 1584843 A CN1584843 A CN 1584843A CN A2004100631363 A CNA2004100631363 A CN A2004100631363A CN 200410063136 A CN200410063136 A CN 200410063136A CN 1584843 A CN1584843 A CN 1584843A
- Authority
- CN
- China
- Prior art keywords
- request
- global area
- privilege
- relevant
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
Abstract
在一个实施例中,本发明提供了用于在操作系统环境中使用细粒度特权模型管理进程活动的方法技术,其中该操作系统环境被划分成一个全局区域以及一个或多个非全局区域,用于在单一操作内核实例的控制下将进程同执行与其它非全局区域相关的进程隔离。
Description
要求的优先权
本申请要求Andrew G.Tucker,et al.,在2003年5月9日提交的,名称为“OPERATING SYSTEM VIRTUALIZATION”的临时申请NO.60/469558的优先权,其收编在此的供参考的全部内容相当于在此完全提出。
背景技术
目前,很多计算系统包括没有被充分利用的计算资源。通过提高这些计算资源的利用,此种利用不足给这些系统的拥有者获得更大的容量或降低成本提供了潜在的机会。
很多方法能用来处理提高利用率的问题,包括在单个硬件平台上的多个应用程序的整合(consolidation)。整合方法典型地试图支持在单个硬件单元上的多个应用程序的共存,以便在较少硬件平台上获得更大的功能。各种计算资源管理技术都可用于此目的。
然而,此计算资源管理扩展必须处理由多个应用程序在单个平台上并行执行引起的安全和管理问题。例如,如果网络服务器应用程序属于两个或多个“不可靠”用户,即,例如市场竞争者们的网络服务器应用程序共存在单个硬件平台上,没有用户会满足其他用户访问此用户的私人信息。例如所包含的一些计算机系统功能,易于分配和使用硬件资源,即,网络连接、DASD、输出设备等等,如果不能控制访问,一个不可靠用户将使用文件系统资源和通信资源来访问其他用户的信息或应用程序。因此,在用户不能互相信任来执行系统资源相关任务的情况下,系统管理员可能因为需要为每个行为负责而不堪重负,此行为涉及到在有效时间和费用下关键系统资源。
一种在整合技术中产生的使用和安全问题的方法,是将机器资源划分为多个逻辑分区(LPAR)或虚拟分区(VPAR),有效地产生在单个平台上的多个机器图像。基于不同的机器图像,此逻辑划分方法在应用程序中潜在的提供完全隔离。然而,逻辑划分方法会产生多个问题。该方法可以要求实现硬件支持(诸如其它特权级的引入)以隔离诸如操作系统内核的特权程序。而且,逻辑划分要求系统管理员管理用于逻辑分区的配置和在逻辑分区中资源的分布。
在另一个可能方法中,在单个硬件平台上并行执行的操作系统图像的一个或多个示例提供多个“虚拟机器”。在该方法中,每个虚拟机器可以是单独的操作系统示例,其提供在虚拟机器中运行的程序与在另一个虚拟机器中运行的其它程序的隔离。尽管该虚拟机器方法提供在应用程序之间的隔离,该方法也会产生其它问题。例如,它可以不必,或甚至不期待具有用于一些应用程序的整个操作系统的多个示例。操纵和管理不同操作系统图像的复杂性使人们需要更简单的方法。
另一个方法可以实现执行划分成多个操作系统功能的划分。例如,一些使用分级文件系统的操作系统包含一种功能,此功能通过限制文件系统访问特殊程序来提供划分等级。然而,该机构也具有缺点。例如,文件系统名称空间的进程清晰度被限制为在多个设备中的文件系统的单个子树。因此,划分通常不会扩展到该进程或连网空间,这就可能被其它进程观察和干扰。
另一个方法可以对系统资源,即,文件系统、网络设备等的划分分配限制进程和其结果(即,父和子)。在该方法中,处于称之为“监狱(Jail)”的划分段中的进程可以访问分配的系统资源,但不能看见也不能访问在监狱之外的进程或网络服务。该监狱法也产生很多问题。典型的,监狱不能脱离产生监狱的进程而独立存在。换句话说,一旦产生监狱(和它的结果,若有的话)的进程终止,该监狱终止。而且,第二进程不能“加入”监狱。
发明内容
在一个实施例中,本发明提供了在操作系统环境中使用细粒度特权模型管理进程活动的技术,其中该操作系统环境被划分成一个全局区域以及一个或多个非全局区域。这些区域实现了一个或多个虚拟环境,在这些环境中,与一个非全局区域相关的进程可以同与其它非全局区域相关的进程隔离。该全局区域为管理员提供了系统管理环境,以调用那些会影响整个操作系统环境的进程。该非全局区域可以由单一操作内核例子控制。在一个实施例中,提供了许多特定特权(specific privilege),例如执行一个安装或操作文件系统或其它对象的特权。通过使用细粒度特权模型,这些实施例使进程能够进行某些操作,但是却限制该进程执行其它的操作。
在一个实施例中,为了将在非全局区域中执行的进程的活动限制为在非全局区域中执行的被认为“安全”的操作,将特权限制同每个非全局区域相关联。在一个实施例中,在非全局区域中的活动可以被限制为系统中特权的子集,该系统中的特权被视为安全的或者适于在相关非全局区域中执行的进程。在一个实施例中,为了指定非全局区域的特权限制,系统调用中增加了一个自变量(argument),该系统调用被调用以生成一个非全局区域。该自变量使调用者能够为非全局区域指定一组允许特权组。在一个实施例中,该允许特权组被用作进入该区域中的所有进程的屏蔽(mask)。
为了防止进程使用它的特权来获得附加特权,操作系统可以要求一个请求授权进程来执行某种操作,以便于如果从全局区域中执行,则具有所有的特权,或者是如果从非全局区域中执行,则具有一组允许特权中的所有特权。例如,为了对一个由特权用户(也称为“根用户”)拥有的文件系统对象进行写入访问,与特权用户标识符不相关的进程可以被要求具有所有的特权。在另一个例子中,操作系统可以要求进程寻求对与特权用户标识符相关,也就是有效的用户标识符0相关的另一个进程建立控制,以便于具有该非全局区域中的所有特权。在一个实施例中,与特权用户标识符不相关的进程,(也称为“非根进程”),具有一些但不是全部的特权,并且可以通过使用根用户标识符的任何特定处理被分块,以升级该进程所拥有的特权。例如,与该根用户不相关的进程但具有超越写许可的特权,也就是PRIV_FILE_DAC_WRITE特权,可以通过修改内核模块的文本内容来对其进行分块,以防止该进程载入一个能够将附加特权反向授权还给该进程的模块。
对于可用于与非全局区域相关的进程的特权的限制并不排除对于在非全局区域的进程能够访问的对象的限制。特权可以用于确定进程是否能够执行给定的操作。可是,如果进程被允许执行一个操作,则这些特权并不限制该操作能够被应用的对象。在一些实施例中,可使用其它技术来控制对于对象进行的访问。
附图说明
图1为一个典型操作系统环境的功能性方框图,在该环境中可以实现本发明一个实施例。
图2A为图1的操作系统环境中的进程的功能性方框图,在该环境中可以实现本发明一个实施例。
图2B为图1的操作系统环境中进程的功能性方框图,在该环境中可以实现本发明一个实施例。
图2C为用于图1的操作系统环境的一个例子示例性文件系统的功能性方框图,在该环境中可以实现本发明一个实施例。
图3A-3D为说明本发明一个实施例的操作的操作流程图。
图4为一个典型计算机系统的硬件方框图,其可以被用于包含体现本发明一个实施例的一个或多个部件。
具体实施方式
系统概述
在一个实施例中,本发明提供了在操作系统环境中使用细粒度特权模型管理进程活动的方法技术,其中该操作系统环境被划分成一个全局区域以及一个或多个非全局区域。非全局区域提供了一个虚拟环境,该虚拟环境能够将与非全局区域相关的进程同与其它非全局区域相关的进程隔离开。每个非全局区域提供了一个永久环境,该环境具有比其它任何与该区域相关的进程都长的使用期限。
在一个实施例中,提供了一种用于控制访问操作系统中资源的方法。该方法包括:在一个由内核实例控制的操作系统环境中,建立一个全局区域以及至少一个非全局区域,以便于将进程与其它非全局区域中的进程隔离。从执行与非全局区域相关的第一进程中接收第一请求以进行一个操作,这也是该方法的一部分。该方法还包括根据接收到的请求响应接收请求,确定执行该被请求的操作是否能使第一进程获得并没有授权给它的附加特权。如果第一进程能够获得附加特权,则拒绝该第一请求,这也是该方法的一部分。
在一个实施例中,如果第一进程请求获得对于第二进程的控制,则该方法就会通过确定第一进程的区域标识符是否与第二进程的区域标识符相匹配,来确定是否允许被请求的操作使第一进程获得附加特权。如果区域标识符不匹配,则该方法确定第一进程是否与非全局区域相关。如果第一进程同非全局区域相关,则拒绝该请求。否则,该方法确定该第一进程是否具有控制其它区域中进程的特权。如果第一进程不具有控制其它区域中进程的特权,则拒绝该请求。否则该方法就确定第一进程的用户标识符是否与第二进程的用户标识符相匹配。如果用户标识符不匹配,则该方法确定第一进程是否具有发出信号或者控制具有不同有效用户标识符的进程的特权。如果第一进程不具有该特权,则拒绝该请求。否则,该方法就确定第一进程是否具有第二进程所拥有的至少每个特权。如果第一进程不具有第二进程所拥有的每个特权,则拒绝该请求。否则,该方法确定第二进程的用户标识符是否是一个特权用户标识符。如果第二进程不具有特权用户标识符,则允许该请求。否则,该方法确定第一进程是否与全局区域相关。如果该第一进程是一个全局区域进程,则该方法确定第一进程是否具有所有的特权。如果该第一进程具有所有的特权,则允许该请求。否则,拒绝该请求。如果第一进程与非全局区域相关,则该方法确定该第一进程是否具有非全局区域允许特权组中的所有特权。如果第一进程具有该区域中的所有特权,则允许该请求。否则,拒绝该请求。
在一个实施例中,为了将进程同其它非全局区域中的进程隔离而建立一个非全局区域包括设定一个用于非全局区域的特权限制。该特权限制表示在非全局区域中执行的进程所允许的特权组。例如,该特权限制可以被表示为一个位屏蔽,其在生成时即被传送至非全局区域。在一个实施例中,该方法包括:将由一个与非全局区域相连的进程所拥有的特权同该位屏蔽进行比较,并从该进程中移除任何没有在允许特权组(也就是在一个实施例中的位屏蔽)中的任何特权。
在一个实施例中,如果执行被请求的操作包括访问一个文件系统对象,则该方法还包括确定该第一进程是否被允许访问该对象。
可以由非全局区域或全局区域中的一个进程请求的其它操作可以被授予适当的特权,该操作包括而不仅限于安装/卸载一个文件系统,超越(override)文件系统许可,连接至一个特权网络端口,以及控制具有不同用户标识符的其它进程。
在一个实施例中,如果第一进程发出一个改变与该进程相关的用户标识符的请求,则该方法确定执行被请求的操作能否使第一进程获得附加特权。在一个实施例中,这包括确定该请求是否要将第一进程的用户标识符改变为一个特权用户标识符。如果该进程被请求变得与特权用户标识符相关,则要进行一个测试以确定该第一进程是否具有非全局区域中允许特权组中的至少每个特权。如果是,则准许该请求。否则,进行一个测试以确定该第一进程是否具有适于该请求的特权;如果是,则准许该请求。适于该请求的特权可以包括一组用户标识符特权等。在所有其它情况下,拒绝该请求。
另一方面,在一个实施例中,本发明提供了一种方法,该方法包括从执行全局区域相关的进程中接收一个请求,以进行一个操作。响应接收该请求,该方法确定执行该被请求的操作是否能使该进程获得附加特权,而这些附加特权并没有授权给该进程。如果准许该请求使该进程获得其没有被授权的附加特权,则拒绝该请求。
在一个实施例中,如果与全局区域相关的第一进程请求获得对于第二进程的控制,则该方法就会确定允许被请求的操作能否使执行与全局区域相关的进程获得附加特权。该方法确定第一进程的区域标识符是否与第二进程的区域标识符相匹配。如果区域标识符不匹配,则该方法确定第一进程是否与非全局区域相关。如果第一进程同非全局区域相关,则拒绝该请求。否则,该方法确定该第一进程是否具有控制其它区域中进程的特权。如果第一进程不具有控制其它区域中进程的特权,则拒绝该请求。否则,该方法就确定第一进程的用户标识符是否与第二进程的用户标识符相匹配。如果用户标识符不匹配,则该方法确定第一进程是否具有发信号或者控制具有不同有效用户标识符的进程的特权。如果第一进程不具有该特权,则拒绝该请求。否则,该方法就确定第一进程是否具有第二进程所拥有的至少每个特权。如果第一进程不具有第二进程所拥有的每个特权,则拒绝该请求。否则,该方法确定第二进程的用户标识符是否是一个特权用户标识符。如果第二进程不具有特权用户标识符,则允许该请求。否则,该方法确定第一进程是否与全局区域相关。如果该第一进程是一个全局区域进程,则该方法确定第一进程是否具有所有的特权。如果该第一进程具有所有的特权,则允许该请求。否则,拒绝该请求。如果第一进程与非全局区域相关,则该方法确定该第一进程是否具有用于非全局区域的允许特权组中的所有特权。如果第一进程具有该区域中的所有特权,则允许该请求。否则,拒绝该请求。
在一个实施例中,如果执行与全局区域相关的进程发出一个改变与该进程相关的用户标识符的请求,则该方法确定执行被请求的操作是否能使执行与全局区域相关的进程获得附加特权。在一个实施例中,这包括确定该请求是否要将执行与全局区域相关的进程相关的用户标识符改变为一个特权用户标识符。如果该进程被请求变得与特权用户标识符相关,则要进行一个测试以确定该执行与全局区域相关的进程是否具有操作系统中的至少所有特权。如果是,则准许该请求。否则,进行一个测试以确定该执行与全局区域相关的进程是否具有适于该请求的特权;并且如果是,则准许该请求。适于请求的特权可以包括一组用户标识符特权等。否则,拒绝该请求。
可以由全局区域中的一个进程请求的其它操作可以被授予适当的特权,该操作包括但不限于:修改所有进程特权,写入系统管理文件,打开保持内核存储器的装置,修改操作系统代码,访问限于根用户的文件系统,设置系统时钟,改变执行进程的调度优先级,为一个应用程序预留资源,直接访问网络层以及载入内核模块。
在其它方面,本发明在一些实施例中包含有计算机装置、计算系统以及计算机可读介质,它们被设置为能够实现上述的方法。
一些实施例可以通过使用细粒度特权模型,在单一内核操作系统环境中执行的进程,控制对计算对象以及资源的访问。一些实施例可以将执行与非全局区域相关的进程隔离开,以便这些进程能够拥有提供给非全局区域的特权。一些实施例可以检查请求执行操作的进程是否具有执行该操作的有效特权,并根据特权确定,允许或拒绝该请求。
概述
图1为表示根据本发明一个实施例的操作系统(OS)环境100的功能性方框图。例如,可以通过在一个一般目的的通用计算机系统,例如图4所示的计算机系统400中执行一个OS,派生出一个OS环境100。为了示例的目的,可以假设该OS是由加利福尼亚圣克拉拉Santa Clara,California的太阳微系统有限公司生产的Solaris。可是,应当注意的是,这里讲授到的一些概念也可以被用于任何OS,包括但不限于Unix,Linux,WindowsTM,,MacOSTM等等。
如图1所示,OS环境100可以包括一个或多个区域(这里也可以指划分分区),包括一个全局区域130以及0个或多个非全局区域140。全局区域130是在导入以及执行OS时生成的一般OS环境,并且在没有生成非全局区域140时,被用作执行进程的缺省区域。在全局区域130中,具有适当特定权力和特权的管理员和/或进程一般可以执行任何任务,并且能够访问其中能够运行OS的计算机系统中可用的任何装置/资源。这样,在全局区域130中,管理员能够管理整个计算机系统。在一个实施例中,管理员能够在全局区域130中执行配置以及管理非全局区域140的进程。
非全局区域140表示OS环境100的单独以及不同的分区。非全局区域140的一个目的就是提供隔离。在一个实施例中,非全局区域140可以被用于将多个实体(entity)隔离开,包括并不限于进程170,一个或多个文件系统180,以及一个或多个逻辑网络接口182。由于这种隔离,在一个非全局区域140中执行的进程170就无法访问或者影响其它任何区域中的进程。类似地,非全局区域140中的进程170也无法访问或者影响另一区域中的文件系统180,它们也不能访问或者影响另一区域中的网络接口182。结果,非全局区域140中的进程170就被限制访问以及影响该区域中的进程以及实体。通过这种方式进行隔离,每个非全局区域140的作用都像一个虚拟的单独计算机。虽然不同非全局区域140中的进程170无法彼此访问或者影响,但是应当注意的是,它们彼此之间可以通过穿过它们每个逻辑网络接口182的网络连接进行通信。这与分离的单独计算机上的进程彼此之间如何进行通信的类似。
在许多应用程序中,可希望获得彼此之间相互隔离的非全局区域140。例如,如果运行OS的单一实例的单一计算机系统将被用于为不同的竞争者(例如竞争站点)托管(host)应用程序,则就会希望将一个竞争者的数据和进程与另一个竞争者的数据和进程隔离开。那样,就可以保证竞争者之间不会泄漏信息。将OS环境100划分为非全局区域140以及在隔离的非全局区域140中托管(host)竞争者的应用程序,是实现这种隔离的一种可行的方法。
在一个实施例中,每个非全局区域140可以被单独管理。更具体的地,可以将一个区域管理员指定给一个特定的非全局区域140并赋予其管理该非全局区域140的各个方面的权力和特权。有了这种权力和特权,该区域管理员能够进行各种会影响该非全局区域140中的进程以及其它实体的任何管理任务。然而,该区域管理员不能改变或影响其它任何非全局区域140或全局区域130中的任何事务。这样,在上述实施例中,每个竞争者都可以管理他/她的区域,因此还有他/她自己的应用程序组,但是却不能改变或者影响竞争者的应用程序。在一个实施例中,为了防止非全局区域140影响其它区域,一般不允许非全局区域140中的实体访问或者控制计算机系统的任何物理装置。
与非全局区域管理员相反,全局区域管理员具有适当专有的权力和特权,可以将OS环境100以及计算机系统作为一个整体来管理其各个方面。这样,全局区域管理者就可以,例如访问以及控制物理装置,分配以及控制系统资源,建立操作参数等。全局区域管理员也可以访问以及控制非全局区域140中的进程和实体。
在一个实施例中,通过内核150来实施区域边界。更具体地,内核150确保在一个非全局区域140中的进程170不能访问或者影响另一个区域(非全局或全局)的进程170、文件系统180以及网络接口182。除了实施区域边界以外,内核150还提供多种其它服务。这些服务包括但不限于将非全局区域140的网络接口182映射到计算机系统的物理网络装置120中,并将非全局区域140的文件系统180映射到计算机系统的整个文件系统以及物理存储器110。内核150的操作将在后面的章节进行更详细的讨论。
非全局区域状态
在一个实施例中,一个非全局区域140可以处于以下四种状态之一:(1)配置;(2)安装;(3)就绪;以及(4)运行。当非全局区域140处于配置状态时,这就意味着全局区域130中的管理员已经调用了一个操作系统实用程序(在一个实施例中,zonecfg(1m))以指定非全局区域140的所有配置参数,并将该配置保存在永久物理存储器110中。在配置一个非全局区域140过程中,管理员可以指定多个不同的参数。这些参数可以包括,但不限于,区域名称,该区域的文件系统180的根目录的区域路径,生成该区域时,将要被安装的一个或多个文件系统的说明,0个或多个网络接口的说明,生成该区域时将要被配置的装置的说明,以及0个或多个资源库关联(resource poolassociation)。
一旦一个区域处于配置状态,则一个全局管理员可以调用另一个操作系统实用程序(在一个实施例中,zoneadm(1m))以将该区域置于安装状态。在被调用时,该操作系统实用程序与内核150相互作用进行交互,以将所有必须的文件以及目录安装到区域的根目录中,或者其子目录中。
为了将安装区域置于就绪状态,一个全局管理员可以再次调用一个操作系统实用程序(在一个实施例中,再次调用zonecfg(1m)),这就使得zoneadmd进程162被启动(有一个与每个非全局区域相关的zoneadmd进程)。在一个实施例中,zoneadmd 162在全局区域130中运行并负责管理其相关非全局区域140。zoneadmd 162启动之后,它与内核150相互作用以建立该非全局区域140。在生成非全局区域140的过程中,要进行多个操作,包括但不限于指定一个区域ID,启动一个zsched进程164(zsched是一个内核进程;但是,它在非全局区域140中运行,并被用于跟踪与非全局区域相关的内核资源),安装文件系统180,探测网络接口182,配置装置,以及设定资源控制。这些以及其它操作将非全局区域140置于就绪状态,以便为一般操作做好准备。
将非全局区域140置于就绪状态会生成一个虚拟平台,在该平台上,可以执行一个或多个进程。该虚拟平台提供必须的基础结构,以使非全局区域140中的一个或多个进程能够与其它非全局区域140中的进程相隔离地执行。该虚拟平台也可以使得非全局区域140中的其它实体例如文件系统180以及网络接口182隔离开,以使该区域的作用就像一个虚拟单独计算机一样。需要注意的是,当非全局区域140处于就绪状态时,在该区域内没有用户或者非内核进程正在执行(要记住:zsched是一个内核进程,而不是用户进程)。这样,由非全局区域140提供的虚拟平台独立于在该区域内执行的任何进程。采用另一种方法,即使在该区域中没有用户或者非内核进程被执行,该区域以及因此,该虚拟平台也会存在。这就意味着,一个非全局区域140会从它生成的时间开始一直保持存在,直到该区域或者OS被终止为止。不需要将该非全局区域140的使用期限制为该区域内任何用户或者非内核进程执行的时间。
在非全局区域140处于就绪状态以后,可以通过执行该区域内的一个或多个用户进程来将其转变为运行状态。在一个实施例中,这通过使得zoneadmd 162在其相关区域内开始一个启动进程(init process)172来完成。一旦启动后,该启动进程172就会在该非全局区域140的文件系统180中查找,以确定要运行什么应用程序。该启动进程172接着执行这些应用程序,以产生一个或多个其它进程174。通过这种方式,在非全局区域140的虚拟平台上启动一个应用程序环境。在该应用程序环境中,所有进程170都被限制在非全局区域140中;这样,它们就无法访问或者影响其它区域中的进程、文件系统或者网络接口。只要在该非全局区域140中有一个或者多个用户进程在执行,该应用程序环境就会存在。
在非全局区域140处于运行状态之后,可以使用与其相关的zoneadmd162来管理它。可以使用zoneadmd162来启动以及控制多个区域管理任务。这些任务可以包括,例如,暂停以及重新导入该非全局区域140。当非全局区域140被暂停时,将其从运行状态置于安装状态。实际上,应用程序环境以及虚拟平台都被缘止。当重新导入非全局区域140时,将其从运行状态置于安装状态,接着从安装状态通过就绪状态转变至运行状态。实际上,应用程序环境以及虚拟平台都被终止和重新启动。可以由zoneadmd162来启动以及控制这些以及许多其它任务,以便于在正规操作期间,根据正在进行的基础管理非全局区域140。
细粒度特权
图2A为图1的操作系统环境中进程的功能性方框图,在该环境中可以实现本发明一个实施例。如图2A所示,在运行期间,操作系统环境100提供多个非全局区域,包括非全局区域A 140(a)以及非全局区域B 140(b),在这里合起来被统称为非全局区域140。非全局区域140是一个永久性环境,因为它们的使用期比与其相关的任何进程的使用期要长。进一步,由于非全局区域140能够支持进程的隔离执行,例如在非全局区域A 140(a)中执行的进程A1 174-1(a)以及在非全局区域B 140(b)中执行的进程B1 174-1(b),因此非全局区域140提供了一个虚拟环境。由单一内核实例150控制与非全局区域140(a)和140(b)相关执行的进程。进程C1 174-1(c)也可以在操作系统环境100的全局区域130中执行。
进一步参照图2A,通过一个例子说明在一个实施例中的细粒度特权的操作,其中与非全局区域A 140(a)相关执行的进程A1 174-1(a)发出一个请求,要求获得对与非全局区域A 140(a)相关执行的目标进程A2 174-2(a)的控制,如实线113(a)所示。如图2A所述,进程A1 174-1(a)与用户标识符UID A1 245-1(a)相关。类似地,目标进程A2 174-2(a)与用户标识符UID A2 245-2(a)相关。在一些情况下,用户标识符UID A1 245-1(a)与用户标识符UID A2 245-2(a)可以是相同的用户标识符。在其它情况下,用户标识符UID A1 245-1(a)与用户标识符UID A2 245-2(a)将会不同。
由于进程A1 174-1(a)与非全局区域A 140(a)相关,因此进程A1的特权被限制为由生成非全局区域A 140(a)的进程所指定的一组允许特权。这样,在一个实施例中,进程A1 174-1(a)不需要拥有操作系统环境100中可用的所有特权执行非全局区域A 140(a)中的操作,否则其将要被在全局区域130中执行的进程所要求。由于进程A1 174-1(a)与非全局区域A 140(a)相关,但是,也要禁止其具有允许特权组中并没有指定的特权。相应地,可以使用特权的细粒度分配来控制由与非全局区域140相关执行的进程执行的操作类型以及操作的范围。同样地,与非全局区域B 140(b)相关的进程B1 174-1(b)也可以被限制为由用于非全局区域B 140(b)的一组允许特权所允许的一个或两个操作类型和范围。在一些实施例中,对用于非全局区域A 140(a)的允许特权组可以与非全局区域B 140(b)的相同。在其它实施例中,对用于非全局区域A 140(a)的允许特权组与非全局区域B 140(b)的允许特权组不同。在一个实施例中,由非全局区域140中的允许特权组所允许的操作可以包括,但不限于,安装/缷载一个文件系统,超越文件系统允许,连接至一个特权网络端口,以及控制具有不同用户标识符的其它进程。
可以为一个与全局区域130相关的进程C1 174-1(c)提供除了非全局区域140的允许特权组以外的特权,在一个实施例中,包括操作系统环境100下适用的所有特权。在一个实施例中,进程C1 174-1(c)具有的特权可以执行,但不限于,修改所有进程特权,写入系统管理文件,打开保持内核存储器的装置,修改操作系统代码,访问限于根用户的文件系统,设置系统时钟,改变执行进程的调度优先级,为一个应用程序预留资源,直接访问网络层以及载入内核模块。
在一个实施例中,为了根据一个或多个标准确定是否准许要求对目标进程A2 174-2(a)进行控制的请求,操作系统环境100确定进程A1 174-1(a)所要求的特权。在一个实施例中,该操作系统环境100在确定是否准许进程A1 174-1(a)的请求时,可以估计出下面情况的一个或多个:用户标识符UIDA1 245-1(a)与用户标识符UIDA2 245-2(a)是否相同,用户标识符UIDA2245-2(a)是否是一个特定特权用户标识符,例如超级用户,或者进程A1 174-1(a)是否具有能够使其控制属于其它用户标识符的进程的特权,例如进程PRIV_PROC_OWNER。例如,如果用户标识符UID A1 245-1(a)与用户标识符UID A2 245-2(a)是相同的,或者如果进程A1 174-1(a)具有PRIV_PROC_OWNER特权,则如果进程A1 174-1(a)具有至少如目标进程A2 174-2(a)所具有的特权的话,则准许由进程A1 174-1(a)发出的控制目标进程A2 174-2(a)的请求。如果进程A1 174-1(a)试图控制目标进程A2174-2(a),并且目标进程A2 174-2(a)与特定特权用户标识符相关,则一个与操作系统环境100相关的进程就会准许进程A1 174-1(a)的请求,假若进程A1 174-1(a)具有非全局区域A 140(a)允许特权组中的所有特权。下面通过图3A1-3A3中所述的例子,对在一个实施例中,确定是否允许一个进程发出的控制目标进程的处理过程进行说明。
在一个进一步的例子中,与全局区域130相关的进程C1 174-1(c)发出了控制还与全局区域130相关的进程C2 174-2(c)的请求,如图2A中的实线117所示。在一个实施例中,如果用户标识符UID C1 245-1(c)与用户标识符UID C2 245-2(c)是相同的,或者如果进程C1 174-1(c)具有PRIV_PROC_OWNER特权,则如果进程C1 174-1(c)具有至少如目标进程C2 174-2(c)所具有的特权的话,即准许由进程C1 174-1(c)发出的控制目标进程C2 174-2(c)的请求。如果进程C1 174-1(c)试图控制目标进程C2174-2(c),并且目标进程C2 174-2(c)与特定特权用户标识符(UID 0)相关,则一个与操作系统环境100相关的进程就会准许进程C1 174-1(c)的请求,假若进程C1 174-1(c)具有操作系统环境100中可用的所有的特权。
在一个实施例中,由于进程C1 174-1(c)与全局区域130相关,因此进程C1 174-1(c)能够查看非全局区域中的对象,例如目标进程A2 174-2(a)。进程C1 174-1(c)可以被允许控制非全局区域140中的目标进程,例如目标进程A2 174-2(a)。操作系统环境100通过采用类似于上述参照进程C1 174-1(c)请求控制目标进程C2 174-2(c)的处理的处理过程,来确定是否准许进程C1 174-1(c)控制非全局区域140(a)中的进程A2 1742-2(a)的请求。当全局区域常驻进程试图控制非全局区域常驻进程时,操作系统100可以要求全局区域进程具有控制另一个区域中的另一个进程的特权,例如一个实施例中的PROC_ZONE特权。
图2B为图1的操作系统环境中进程的功能性方框图,在该环境中可以实现本发明的一个实施例。通过图2B中所述的一个例子说明在一个实施例中细粒度特权模型的操作,其中执行与非全局区域A140(a)相关的进程A1 174-1(a)发出一个请求,要求将其关联从第一用户标识符UID A1 245-1(a)改变到一个新用户标识符UID A2 245-2(a),如虚线119(a)所示。
在一个实施例中,为了根据一个或多个标准确定是否准许将进程的关联从用户标识符UID A1 245-1(a)改变为用户标识符UID A2 245-2(a),操作系统环境100需要确定进程A1 174-1(a)所要求的特权。在一个实施例中,该操作系统环境100在确定是否准许进程A1 174-1(a)的请求时,该操作系统环境100的一个进程可以确定以下情况中的一个或多个:用户标识符UIDA2 245-2(a)是否是一个特定特权用户标识符,例如超级用户,或者进程A1174-1(a)是否具有能够控制属于其它用户标识符的进程的特权,例如PRIV_PROC_SETID。例如,如果进程A1 174-1(a)具有PRIV_PROC_SETID特权,则如果用户标识符UID A2 245-2(a)不是一个特定特权用户标识符的话,即准许由进程A1 174-1(a)发出的将其关联改变为用户标识符UID A2245-2(a)的请求。在一些情况下,例如图2B中非全局区域B 140(b)所示,请求进程B1 174-1(b)发出一个请求,要求将其相关用户标识符UID B1 245-1(b)改为用户标识符UID B2 245-2(b),如虚线119(b)所示。在该例子中,用户标识符UID B2 245-2(b)同特定特权用户UID 0相关。由于进程B1 174-21(b)正试图将其关联改变为具有特定特权用户标识符的用户标识符UID B2174-2(b),因此操作系统环境100将准许进程B1 174-1(b)的请求,假若进程B1 174-1(b)具有非全局区域B 140(b)允许特权组中的所有特权。下面通过图3B1-3B32中所述的例子对在一个实施例中确定是否允许一个进程改变用户标识符请求中执行的处理过程进行说明。
在另一示例中,与用户标识符UID C1 245-1(c)以及全局区域130相关的进程C1 174-1(c)请求与用户标识符UID C2 245-2(c)相关,如虚线119(c)所示。在一个实施例中,如果进程C1174-1(c)具有PRIV_PROC_SETID特权,则如果用户标识符UID C2 245-2(c)并不是一个特定特权用户标识符,即准许由进程C1 174-1(c)发出的开始与用户标识符UID C2 245-2(c)相关的请求。在图2B所示的例子中,进程C1 174-1(c)已经请求与用户标识符UID C2 245-2(c)相关,其与特定特权用户标识符(UID 0)相关。由于进程C1 174-1(c)与全局区域130相关,因此只有当进程C1 174-1(c)具有操作系统环境100中可用的所有特权时,与操作系统环境100相关的进程才会准许进程C1 174-1(c)的请求。
图2C为用于图1的操作系统环境的一个例子的功能性方框图,在该环境中,可以实现本发明的一个实施例。如图2C中所示,图1中的文件系统180包括多个按照分层树形结构排列的目录。例如,在非全局区域A 140(a)中,文件系统180(a)安装在区域根目录290(a)。在操作系统术语中,根目录被表示为斜杠(“/”)。由于根目录290(a)是一个区域根目录,显然非全局区域A 140(a)中的进程将成为根目录。目录290(a)是/AUX0目录291的子目录,该/AUX0目录291是文件系统180中可以由全局区域130中的进程访问的部分。从全局区域130中进程的角度来看,目录290(a)是目录/AUX0/zone A 290(a)。
在一个实施例中,对于区域内的进程来说,区域的根目录与由chroot设置的目录是截然不同的,其中该chroot是用于建立根目录的系统命令。当进程遍历路径名部件时,在一个实施例中,对全部限制进行检查。这就使得chroot能够在区域中被使用,但是如果一个进程脱离了它的chroot限制,则该进程仍旧脱离不了区域的限制。
区域根目录190(a)包括一个或多个子目录,例如/Proc 292(a),/USR 293(a),以及/ETC 294(a)。这不是一个穷举列表,并且其它的子目录也可以包括在根目录290(a)中。这些子目录还可以进一步包括它们自己的子目录。例如,目录/USR/SBIN 295(a)就是目录/USR 293(a)的子目录。在非全局区域A中运行的多个进程,例如进程A1 174-1(a),进程A2 174-2(a),以及进程A3 174-3(a)就是用存储在目录/USR/SBIN 295(a)中的文件实例说明的,如实线104(a),106(a)以及108(a)所示。
现在参照图2C中非全局区域B 140(b),文件系统180(b)的一个单独实例安装在根目录290(b)。根目录290(b)还包括一个或者多个存储进程,例如进程B1 174-1(b),进程B2 174-2(b)以及进程B3 174-3(b)的数据和/或文件的子目录。在图2C所示的实施例中,非全局区域B 140(b)的文件系统180(b)的目录以及相关结构与非全局区域A 140(a)的文件系统180(a)的相应部分是类似的。但不必总是这种情况,并且实现特定变化也是存在的。例如,在一些实施例中,文件系统180(a)和文件系统180(b)可以被映射到单一物理存储器,其作为一个回环传送(loop back)文件系统而公知。
全局区域130包括操作系统环境100的文件系统根目录290。该全局区域130的文件系统还包括一个或多个子目录,例如/PROC 292,/USR293,以及/ETC 294。在一个实施例中,根目录/290包括子目录/AUX0 291,其中该子目录/AUX0 291用它的子目录目录/AUX0/zone A 290(a)以及目录/AUX0/zoneB 290(b)来实现区域根目录/290(a)和/290(b)。
在一个实施例中,由于这些进程必须安装在从该非全局区域能够分层访问的文件系统层的部分中,所以在非全局区域中发出的安装就只能显示该区域内的进程。从全局区域发出的安装就会反映(reflect)系统中的所有进程,其并不位于分层属于就绪或运行区域的文件系统层部分中。下面通过图3C-3D中所述的例子对在一个实施例中,确定是否准许由进程发出的访问文件系统对象的请求中执行的处理过程进行说明。
如上面参照图2C所述,在一个实施例中,全局区域中的进程被允许查看与非全局区域中的对象相关的文件系统。这就允许这些进程具有系统范围内的可观察性。但是,这种向其它区域中的进程控制或者发送信号的能力受到了上面参照图2A-2B所述的特权的限制,在一个实施例中,其必须通过全局区域中的进程而获得,以便于访问或者控制一个实施例中非全局区域中的对象。
示例操作
现在对根据本发明一个实施例的操作系统100的示例操作进行说明。下面的论述将参照图2A-2C的功能性框图2A-2C以及3A-3D的流程图进行。
图3A1为说明本发明一个实施例的操作的操作流程图。在如图3A1所示的例子中,请求者进程A1 174-1(a)请求获得对目标进程,进程A2 174-2(a)的控制。在如图3A1所示的实施例中,在框301中,进行一个测试,以确定与进程A1 174-1(a)相关区域的区域标识符是否与进程A2 174-2(a)相关区域的区域标识符相同。如果该区域标识符不匹配,则接着进行图3A2中框322的处理。否则,如果区域标识符匹配,则请求者进程与目标进程位于相同的区域,并接着进行图3A1中框302的处理。
在框302中,进行一个测试,以确定发出请求的进程A1 174-1(a)的用户标识符UID A1 245-1(a)是否与目标进程A2 174-2(a)的用户标识符UIDA2 245-2(a)相匹配。如果用户标识符不匹配,则进行至图3A2中的框328,并且根据如图3A2所述的处理过程对来自进程A1 174-1(a)的请求进行处理。否则,如果用户标识符匹配,则在框303中进行一个测试,以确定进程A1 174-1(a)是否具有进程A2 174-2(a)所拥有的每个特权。如果进程A1 174-1(a)不具有进程A2 174-2(a)所拥有的每个特权,则在框306中拒绝该请求。
在框304中进行一个测试,以确定目标进程A2 174-2(a)是否与特权用户的用户标识符相关。在一个实施例中特权用户可以是一个具有特定用户标识符的用户,例如0。如果目标进程与特权用户标识符相关,则根据图3A3中所述的处理过程对来自进程A1 174-1(a)的请求进行处理。否则,如果目标进程A2 174-2(a)的用户标识符与特权用户不相关,则在框312中允许该请求。
图3A2为说明本发明一个实施例的操作的操作流程图。在如图3A2所示的例子中,请求者进程A1 174-1(a)已经请求获得对目标进程,进程A2 174-2(a)的控制。前面的处理过程已经确定了:a)请求者进程与目标进程不具有相同的区域标识符,或者b)请求者进程与目标进程不具有相同的用户标识符。在如图3A2所示的实施例中,当请求者进程与目标进程具有不同的区域标识符时,调用框322中的处理过程。在框322中,进行一个测试,以确定请求者进程A1 174-1(a)是否与非全局区域相关。如果请求者进程A1 174-1(a)与非全局区域相关,则在框326中拒绝来自进程A1 174-1(a)的请求。否则,如果请求者进程A1 174-1(a)与全局区域相关,则在框324中进行一个测试,以确定该请求者进程A1 174-1(a)是否具有能够使得进程A1 174-1(a)控制其它进程的特权。在一个实施例中,该特权被认为是一个PRIV_PROC_ZONE特权。如果请求者进程A1 174-1(a)不具有适当的特权,则在框326中拒绝来自进程A1 174-1(a)的请求。否则,接着进行至图3A1中的框302。
在如图3A2所示的实施例中,当请求者进程与目标进程具有不同的用户标识符时,调用框328中的处理过程。在框328中,进行一个测试,以确定请求者进程A1 174-1(a)是否具有使得进程A1 174-1(a)能够发信号或者控制其它具有不同有效用户标识符的进程的特权。在一个实施例中,该特权被认为是一个PRIV_PROC_OWNER特权。如果请求者进程A1 174-1(a)不具有适当的特权,则在框330中拒绝来自进程A1 174-1(a)的请求。否则,接着进行至图3A1中的框303。
参看图3A3,这是一个说明本发明一个实施例的操作的操作流程图。在如图3A3所示的示例中,请求者进程A1 174-1(a)发出了获得对目标进程,进程A2 174-2(a)的控制的请求。前面的处理过程已经确定了目标进程与特权用户标识符相关。在如图3A3所示的实施例中,在框332中,进行一个测试,以确定请求者进程A1 174-1(a)是否与全局区域130相关。如果请求者进程A1 174-1(a)与全局区域130不相关,则在框334中进行一个测试,以确定请求者进程A1 174-1(a)是否具有非全局区域140(a)的允许特权组中所有的特权。如果请求者进程A1 174-1(a)具有允许特权组中所有的特权,则在框338中允许该请求。否则在框340中拒绝该请求。
如果在框332中已经确定该请求者进程A1 174-1(a)与全局区域相关,则在框336中进行一个测试,以确定该请求者进程A1 174-1(a)是否具有所有的特权。如果请求者进程A1 174-1(a)具有所有的特权,则在框338中允许该请求。否则,如果请求者进程A1 174-1(a)缺少任何特权,则在框340中拒绝该请求。
图3B1是一个说明本发明一个实施例的操作的操作流程图。在如图3B1所示的实施例中,请求者进程A1 174-1(a)发出了将其关联从第一用户标识符UID A1 245-1(a)改变为第二用户标识符UID A2 245-2(a)的请求。
进行一个测试,以确定请求者进程A1 174-1(a)是否已经请求将其相关用户标识符改变为用于特权用户的用户标识符。在一个实施例中,特权用户可以是一个具有特定用户标识符的用户,例如0的用户。如果所请求的用户标识符与特权用户标识符相关,则如图3B2所述,对来自进程A1 174-1(a)的请求进行处理。否则,如果该请求的用户标识符与特权用户不相关,则在框344中进行一个测试,以确定请求者进程A1 174-1(a)是否具有使得进程A1 174-1(a)获得其自己的用户标识符的特权。在一个实施例中,该特权被认为是一PRIV_PROC_SETID特权。如果请求者进程A1 174-1(a)具有适当的特权,则在框346中允许该请求。否则,如果请求者进程A1 174-1(a)缺少适当的特权,则在框348中拒绝该请求。
参看图3B2,这是一个说明本发明一个实施例的操作的操作流程图。在如图3B2所示的实施例中,请求者进程A1 174-1(a)已经发出了改变其用户标识符的请求。在一个实施例中,如果用户希望改变其用户标识符,则用户可以通过调用一个“su”命令来实现。在一个实施例中,当用户在操作系统100下登录时,登录进程就会进行如图3B1-3B2所示的处理过程,以便于将合适的用户标识符指定给用户登录对话中的进程。前面的处理过程已经确定了该请求者进程已经请求将其用户标识符改变为特权用户的用户标识符,也就是,一个实施例中的用户标识符0。在如图3B2所述的实施例中,在框352中进行一个测试,以确定请求者进程A1 174-1(a)是否与非全局区域140(a)相关。如果请求者进程A1 174-1(a)与非全局区域140(a)相关,则在框334中进行一个测试,以确定请求者进程A1 174-1(a)是否具有非全局区域140(a)的允许特权组中所有的特权。如果请求者进程A1 174-1(a)具有允许特权组中所有的特权,则在框358中允许该请求。否则在框360中拒绝该请求。
如果在框352中已经确定该请求者进程A1 174-1(a)与非全局区域不相关,则在框356中进行一个测试,以确定该请求者进程A1 174-1(a)是否具有系统中的所有特权。如果请求者进程A1 174-1(a)具有系统中的所有特权,则在框358中允许该请求。否则,如果请求者进程A1 174-1(a)缺少系统中的任何特权,则在框360中拒绝该请求。
参看图3C,这是一个说明用于本发明一个实施例中非全局区域中进程的操作的操作流程图。在框362中,接收一个与非全局区域140(a)相关的进程A1 174-1(a)的请求,用以访问一个对象。在框364中,根据区域标识符确定来自与非全局区域140(a)相关的进程A1 174-1(a)的请求是否正试图访问与区域而不是非全局区域140(a)相关的对象。在框366中,进行一个测试,以确定发出请求的进程的区域ID是否与将要被访问的对象的区域ID相匹配。如果区域ID匹配,则在框368中允许来自进程A1 174-1(a)的请求。否则,如果区域ID不匹配,则在框370中拒绝来自进程A1 174-1(a)的请求。
参看图3D,这是一个说明访问允许检查用于本发明一个实施例中全局区域中进程的操作的操作流程图。在框372中,接收一个与全局区域130相关的进程C1 174-1(c)的请求,以访问一个对象。在框374中,根据区域标识符确定来自与全局区域130相关的进程C1 174-1(c)的请求是否正试图访问与区域而不是全局区域130相关的对象。在框376中,进行一个测试,以查看请求进程的区域ID是否与将要被访问的对象的区域ID相匹配。如果区域ID匹配,则在框378中允许来自与全局区域130相关的进程C1 174-1(c)的访问一个对象的请求。否则,如果区域ID不匹配,则在框360中进行一个测试,以查看该请求进程C1 174-1(c)是否被授予特权。如果该请求进程被授予特权,则在框362中,允许来自与全局区域130相关的进程C1 174-1(c)的访问非全局区域140(a)和或区域140(b)的对象的请求。否则,如果该进程C1 174-1(c)未被授予特权,则在框364中,拒绝来自进程C1 174-1(c)的请求。
硬件概述
图4是实现本发明的实施例的计算机系统400的示意性框图。计算机系统400包括有助于信息交换的总线402,和与总线402耦合的用于处理信息的一个或多个处理器404。计算机系统400还包括主存储器406,诸如随机存储器(RAM)或其它动态存储装置,该存储装置耦合到总线402以便存储信息和由处理器404执行的指令。在处理器404执行指令期间,主存储器406还可用于存储临时变量或其它中间信息。计算机系统400还可包括耦合到总线402的用于存储静态信息和处理器404指令的只读存储器(ROM)408或其它静态存储装置。提供存储装置410,诸如磁盘或光盘,并耦合到总线402以存储信息和指令。
计算机系统400可通过总线402耦合诸如阴极射线管(CRT)的显示器412,该显示器将信息显示给计算机用户。包括字母数字和其它按键输入装置414耦合到总线402用于通知信息和对处理器404进行命令选择。其它类型的用户输入装置是光标控制器(cursor controller)416,诸如鼠标、轨迹球、或光标方向键,用于通知信息和对处理器404进行命令选择,并控制光标在显示器412上的运动。该输入装置典型地两个轴中具有两个自由度,这两个轴为第一轴(例如X)和第二轴(例如Y),这使该装置能在平面中指定位置。
在计算机系统400中,总线402可以是任意机构和/或介质,其能使信息信号、数据等在各种部件中进行交换。例如,总线402可以是一组输送电子信号的导线。总线402也可以是在一个或多个部件之间输送无限信号的无线介质(例如空气)。总线402也可以是能使信号在一个或多个部件之间进行电容性交换的介质(例如空气)。总线402还可以是连接一个或多个部件的网络连接。总之,能使信息、信号、数据等在各种部件之间进行交换的任何机构和/或介质都可用作总线402。
总线402也可以是上述这些机构/介质的组合。例如,处理器404可以与存储装置410进行无线通信。在这种情况下,从处理器404和存储装置410的角度来看,总线402可以是无线介质,诸如空气。而且,处理器404可以电容性地与ROM408进行电容性通信。在此情况下,总线402可以是能使电容性通信发生的介质(诸如空气)。进一步,处理器404可通过网络连接与主存储器406通信。在这种情况下,该总线402可以是网络连接。而且,处理器404可通过一组导线与显示器412通信。在这种情况下,总线402可以是一组导线。因此,基于各种部件互相通信的方式,总线402可以采取不同形式。如图4所示,总线402可以功能性地代表所有能使信息、信号、数据等在各种部件之间进行交换的机构和/或介质。
本发明关于用计算机系统400执行所述的技术。根据本发明的一个实施例,计算机系统400通过响应由处理器404执行的一个或多个指令的一个或多个序列来执行这些技术,这些指令包含在主存储器406中,可从另一个机器可读的介质,诸如存储装置410,将所述指令读入主存储器406。执行包含在主存储器406中的指令序列使处理器404执行这里所述的处理步骤。在可选实施例中,可使用硬连线电路代替或结合软件指令来执行本发明。因此,本发明的实施例不限于任何硬件电路和软件的任何特定的组合。
在此使用的术语“机器可读介质”指参与提供数据的任何介质,所述数据使机器以特定方式操作。在利用计算机系统400执行的一个实施例中,包括各种机器可读介质,例如,向处理器404提供用于执行的指令。这些介质可采取任何形式,包括但不限于,非易失性介质、易失性介质、和传输介质。非易失性介质包括,例如,光盘或磁盘,诸如存储装置410。易失性介质包括动态存储器,诸如主存储器406。传输介质包括同轴电缆、铜线和光纤,包括含有总线402的导线。传输介质也能采取声波或光波的形式,诸如在无线电波或红外线数据通信中产生的声波或光波。
机器可读介质的普通形式包括,例如软盘(floppy disc)、软磁盘(flexible disc)、硬盘、磁带、或其它磁介质,CD-ROM,任何光介质、穿孔卡、纸带,任何具有孔结构的物理媒体、RAM、PROM、和EPROM、FLASH-EPROM,任何存储芯片或盒式磁带,下文中描述的载波,或计算机可以读取的任何其它介质。
各种形式的机器可读介质可涉及携带处理器404执行的一个或多个指令的一个或多个序列。例如,最初该指令可携带在远程计算机的磁盘上。该远程计算机可以将该指令加载到其动态存储器中,并使用调制解调器,通过电话线发送所述指令。位于计算机系统400上的调制解调器能接收电话线上的数据,并使用红外线发送器将数据转换为红外信号。红外线探测器能接收红外信号中携带的数据,并且合适的电路能将数据置于总线402上。总线402将数据传输给主存储器406,处理器404从主存储器406中接收并执行所述指令。在处理器404执行指令之前或之后,由主存储器406接收的指令可选择地存储在存储装置410中。
计算机系统400还包括耦合到总线402的通信接口418。通信接口418提供耦合到网络链路420的双向数据通信,该网络链路420连接本地网络422。例如,通信接口418可以是综合业务数字网(ISDN)卡或调制解调器以提供连接到相应类型的电话线上的数据通信。作为另一示例,通信接口418可以是局域网(LAN)卡以提供连接到兼容LAN的数据通信。无线链路也可以实现。在任何实施中,通信接口418发送并接收电子、电磁或光信号,这些信号携带表示各种类型信息的数字数据流。
网络链路420通常典型地通过一个或多个网络提供数据通信给其它数据装置。例如,网络链路420可提供通过本地网络422到主机424或由因特网服务提供者(ISP)426操作的数据设备的连接。ISP426通过目前通称为“因特网”428的全球分组数据通信网络轮流提供数据通信服务。本地网络422和因特网428可使用携带数字数据流的电子、电磁或光信号。通过各种网络的信号和在网络链路420上并通过通信接口418的信号是传输信息的载波的典型形式,所述信号携带数字数据到达和来自计算机系统400。
计算机系统400能通过网络、网络链路420和通信接口418发送消息和接收数据,包括程序代码。在因特网示例中,服务器430通过因特网428、ISP426、本地网络422和通信接口418发送请求码。
接收代码可由处理器404以其接收时状态执行,和/或存储在存储装置410中,或在其它非易失性存储器中用于随后的处理。以这种方式,计算机系统400可以以载波形式获得应用程序代码。
在上述说明中,应当理解,尽管本发明已经参照一个实施例进行了描述,但不应当视为对本发明的限制。在不脱离本发明精神的前提下,本领域普通技术人员根据公开的内容可进行各种修改。因此,本发明不应当被示意的实施例限制,而是应限制在提出的权利要求的范围内。因此,说明书和附图被也是作为说明,而不是限制。
Claims (27)
1.一种方法,包括:
在一个由单一操作系统内核实例控制的操作系统环境中,建立一个全局区域以及至少一个非全局区域,以将进程与其它非全局区域中的进程隔离;
接收来自执行与非全局区域相关的第一进程的第一请求,以进行一个操作;
响应接收所述第一请求,确定执行所述被请求的操作是否能使所述第一进程获得其没有被授权的附加特权;以及
如果所述第一进程能够获得所述附加特权,则拒绝所述第一请求。
2.根据权利要求1所述的方法,其中每个非全局区域都有一组允许特权,用于在非全局区域中执行的进程。
3.根据权利要求2所述的方法,其中所述操作包括获得对第二进程的控制,并且其中确定执行所述被请求的操作是否能使所述第一进程获得所述附加特权包括:
确定所述第一进程的区域标识符是否与第二进程的区域标识符匹配;以及
如果所述区域标识符不匹配,则确定所述第一进程是否与非全局区域相关;并且
如果相关,则拒绝所述请求;
否则,确定所述第一进程是否具有控制其它区域中进程的特权;以及
如果所述第一进程不具有控制其它区域中进程的所述特权,则拒绝所述请求;
确定所述第一进程的用户标识符是否与第二进程的用户标识符匹配;以及
如果所述用户标识符不匹配,则确定所述第一进程是否具有进程所有者特权;以及
如果所述第一进程不具有所述进程所有者特权,则拒绝所述请求;
确定所述第一进程是否具有所述第二进程拥有的至少每个所述特权;以及
如果所述第一进程不具有所述第二进程的每个所述特权,则拒绝所述请求;
确定所述第二进程的所述用户标识符是否是一个特权用户标识符;以及
如果所述第二进程不具有特权用户标识符,则允许所述请求;
确定所述第一进程是否与所述全局区域相关;以及
如果所述第一进程是全局区域进程,则确定所述第一进程是否具有所有特权;以及
如果具有所有特权,允许所述请求;否则,拒绝所述请求;
否则,如果所述第一进程与非全局区域相关,则
确定所述第一进程是否具有用于所述非全局区域的所述允许特权组中的所有特权;
以及
如果具有所有特权,则允许所述请求;否则,拒绝所述请求。
4.根据权利要求3所述的方法,其中所述特权用户标识符为0。
5.根据权利要求2所述的方法,其中建立将进程与其它非全局区域中的进程隔离的非全局区域,包括:
为所述非全局区域设定特权限制,所述特权限制表示用于在所述非全局区域中执行的进程的所述允许特权组。
6.根据权利要求5所述的方法,其中所述特权限制可以被表示为一个位屏蔽,其在生成时即被传送至所述非全局区域,所述方法还包括:
将与所述非全局区域相连的进程所拥有的特权同所述位屏蔽进行比较;以及
从所述进程中移除不在所述位屏蔽中的任何特权。
7.根据权利要求1所述的方法,其中执行被请求的操作包括访问一个对象,所述方法还包括:
确定所述第一进程是否具有访问所述对象的许可。
8.根据权利要求1所述的方法,其中所述操作包括以下操作之一:
安装/卸载一个文件系统,超越文件系统许可,连接至一个特权网络端口,以及控制具有不同用户标识符的其它进程。
9.根据权利要求2所述的方法,其中所述操作包括改变与所述第一进程相关的用户标识符,并且其中确定执行所述被请求的操作是否能使所述第一进程获得所述附加特权包括:
确定所述请求是否要将与所述第一进程相关的所述用户标识符改变为一个特权用户标识符,并且所述第一进程是否具有用于所述非全局区域中的所述允许特权组中的至少每个所述特权;以及
如果具有每个所述特权,则准许所述请求;
否则,确定所述第一进程是否具有适于所述请求的特权;以及
如果具有,则准许所述请求;
否则,拒绝所述请求。
10.根据权利要求1所述的方法,还包括:
接收来自执行与全局区域相关的进程的请求,以进行一个操作;
响应接收所述请求,确定执行所述被请求的操作是否能使所述进程获得未被授权的附加特权;以及
如果能使所述进程获得所述附加特权,则拒绝所述请求。
11.根据权利要求10所述的方法,其中所述操作包括获得对第二进程的控制,并且其中确定执行所述被请求的操作是否能使执行与所述全局区域相关的所述进程获得所述附加特权包括:
确定所述第一进程的区域标识符是否与第二进程的区域标识符匹配;以及
如果所述区域标识符不匹配,则确定所述第一进程是否与非全局区域相关;以及如果相关,则拒绝所述请求;
否则,确定所述第一进程是否具有控制其它区域中进程的特权;以及
如果所述第一进程不具有控制其它区域中进程的所述特权,则拒绝所述请求;
确定所述第一进程的用户标识符是否与第二进程的用户标识符匹配;以及
如果所述用户标识符不匹配,则确定所述第一进程是否具有进程所有者特权;以及
如果所述第一进程不具有所述进程所有者特权,则拒绝所述请求;
确定所述第一进程是否具有所述第二进程拥有的每个所述特权;以及
如果所述第一进程不具有所述第二进程拥有的每个所述特权,则拒绝所述请求;
确定所述第二进程的所述用户标识符是否是一个特权用户标识符;以及
如果所述第二进程不具有特权用户标识符,则允许所述请求;
确定所述第一进程是否与所述全局区域相关;以及
如果所述第一进程是一个全局区域进程,则确定所述第一进程是否具有所有的特权;以及
如果具有所有的特权,则允许所述请求;否则,拒绝所述请求;
否则,如果所述第一进程与非全局区域相关,则确定所述第一进程是否具有用于所述非全局区域的所述允许特权组中的所有特权;以及
如果具有,则允许所述请求;否则,拒绝所述请求。
12.根据权利要求10所述的方法,其中所述操作包括改变与执行所述全局区域相关的所述进程相关的用户标识符,并且其中确定执行所述被请求的操作是否能使执行与所述全局区域相关的所述进程获得所述附加特权包括:
确定所述请求是否要将执行与所述全局区域相关的所述进程相关的所述用户标识符改变为特权用户标识符,以及执行与所述全局区域相关的所述进程是否具有所有特权;以及
如果具有,则准许所述请求;
否则,确定执行与所述全局区域相关的所述进程是否具有适于所述请求的特权;以及
如果具有,则准许所述请求;
否则,拒绝所述请求。
13.根据权利要求10所述的方法,其中所述操作可以包括以下操作之一:
修改所有进程特权,写入系统管理文件,打开保持内核存储器的装置,修改操作系统代码,访问限于根用户的文件系统,设置系统时钟,改变执行进程的调度优先级,为一个应用程序预留资源,直接访问网络层以及载入内核模块。
14.一种计算机可读介质,包括使一个或多个处理器执行以下步骤的指令:
在由单一操作系统内核实例控制的操作系统环境中,建立一个全局区域以及至少一个非全局区域,以将进程与其它非全局区域中的进程隔离;
接收来自执行与所述非全局区域相关的第一进程的第一请求,以执行一个操作;
响应接收所述第一请求,确定执行所述被请求的操作是否能使所述第一进程获得未被授权的附加特权;以及
如果能使所述第一进程获得所述附加特权,则拒绝所述第一请求。
15.根据权利要求14所述的计算机可读介质,其中每个非全局区域都有一组允许特权,用于在所述非全局区域中执行的进程。
16.根据权利要求15所述的计算机可读介质,其中所述操作包括获得对第二进程的控制,并且其中确定执行所述被请求的操作是否能使所述第一进程获得所述附加特权包括:
确定所述第一进程的区域标识符是否与第二进程的区域标识符匹配;以及
如果所述区域标识符不匹配,则确定所述第一进程是否与非全局区域相关;并且如果相关,则拒绝所述请求;
否则,确定所述第一进程是否具有控制其它区域中的进程的特权;以及
如果所述第一进程不具有控制其它区域中进程的所述特权,则拒绝所述请求;
确定所述第一进程的用户标识符是否与第二进程的用户标识符匹配;以及
如果所述用户标识符不匹配,则确定所述第一进程是否具有进程所有者特权;以及
如果所述第一进程不具有所述进程所有者特权,则拒绝所述请求;
确定所述第一进程是否具有所述第二进程拥有的至少每个所述特权;以及
如果所述第一进程不具有所述第二进程的每个所述特权,则拒绝所述请求;
确定所述第二进程的所述用户标识符是否是一个特权用户标识符;以及
如果所述第二进程不具有特权用户标识符,则允许所述请求;
确定所述第一进程是否与所述全局区域相关;以及
如果所述第一进程是全局区域进程,则确定所述第一进程是否具有所有特权;以及
如果具有所有特权,则允许所述请求;否则,拒绝所述请求;
否则,如果所述第一进程与非全局区域相关,则
确定所述第一进程是否具有用于所述非全局区域的所述允许特权组中的所有特权;以及
如果具有所有特权,则允许所述请求;否则,拒绝所述请求。
17.根据权利要求16所述的计算机可读介质,其中所述特权用户标识符为0。
18.根据权利要求15所述的计算机可读介质,其中建立一个非全局区域以将进程与其它非全局区域中的进程隔离,包括:
为所述非全局区域设定特权限制,所述特权限制表示用于在所述非全局区域中执行的进程的所述允许特权组。
19.根据权利要求18所述的计算机可读介质,其中所述特权限制可以表示为被传送至所述非全局区域的一个位屏蔽,所述计算机可读介质还包括使一个或多个处理器执行以下步骤的指令:
将由一个与所述非全局区域相连的进程所拥有的特权同所述位屏蔽进行比较;以及
从所述进程中移除不在所述位屏蔽中的任何特权。
20.根据权利要求14所述的计算机可读介质,其中执行所述被请求的操作包括访问一个对象,所述计算机可读介质还包括使一个或多个处理器执行以下步骤的指令:
确定所述第一进程是否具有访问所述对象的许可。
21.根据权利要求14所述的计算机可读介质,其中所述操作包括以下操作之一:
安装/卸载一个文件系统,超越文件系统许可,连接至一个特权网络端口,以及控制具有不同用户标识符的其它进程。
22.根据权利要求15所述的计算机可读介质,其中所述操作包括改变与所述第一进程相关的用户标识符,并且其中确定执行所述被请求的操作是否能使得所述第一进程获得所述附加特权包括:使一个或多个处理器执行以下步骤的指令:
确定所述请求是否要将与所述第一进程相关的所述用户标识符改变为一个特权用户标识符,并且所述第一进程是否具有用于所述非全局区域中的所述允许特权组中的至少每个所述特权;以及
如果具有,则准许所述请求;
否则,确定所述第一进程是否具有适于所述请求的特权;以及
如果具有,则准许所述请求;
否则,拒绝所述请求。
23.根据权利要求14所述的计算机可读介质,还包括使一个或多个处理器执行以下步骤的指令:
接收来自执行与所述全局区域相关的进程的请求,以执行一个操作;
响应接收所述请求,确定执行所述被请求的操作是否能使所述全局区域中的所述进程获得除了与所述进程相关的特权以外的特权;以及
如果能使所述进程获得除了与所述进程相关的特权以外的附加特权,则拒绝所述请求。
24.根据权利要求23所述的计算机可读介质,其中所述操作包括获得对第二进程的控制,并且其中确定允许所述被请求的操作是否能使执行与所述全局区域相关的所述进程获得所述附加特权包括:使一个或多个处理器执行以下步骤的指令:
确定所述第一进程的区域标识符是否与第二进程的区域标识符匹配;以及
如果所述区域标识符不匹配,则确定所述第一进程是否与非全局区域相关;以及如果相关,则拒绝所述请求;
否则,确定所述第一进程是否具有控制其它区域中进程的特权;以及
如果所述第一进程不具有控制其它区域中进程的所述特权,则拒绝所述请求;
确定所述第一进程的用户标识符是否与第二进程的用户标识符匹配;以及
如果所述用户标识符不匹配,则确定所述第一进程是否具有进程所有者特权;
以及
如果所述第一进程不具有所述进程所有者特权,则拒绝所述请求;
确定所述第一进程是否具有所述第二进程所拥有的至少每个所述特权;以及
如果所述第一进程不具有所述第二进程拥有的每个所述特权,则拒绝所述请求;
确定所述第二进程的所述用户标识符是否是一个特权用户标识符;以及
如果所述第二进程不具有特权用户标识符,则允许所述请求;
确定所述第一进程是否与所述全局区域相关;以及
如果所述第一进程是一个全局区域进程,则确定所述第一进程是否具有所有特权;以及
如果具有,则允许所述请求;否则,拒绝所述请求;
否则,如果所述第一进程与非全局区域相关,则确定所述第一进程是否具有用于所述非全局区域的所述允许特权组中的所有特权;以及
如果具有,则允许所述请求;否则,拒绝所述请求。
25.根据权利要求23所述的计算机可读介质,其中所述操作包括改变与执行与所述全局区域相关的所述进程相关的用户标识符,并且其中确定执行所述被请求的操作是否能使执行与所述全局区域相关的所述进程获得所述附加特权包括,使一个或多个处理器执行以下步骤的指令:
确定所述请求是否要将执行与所述全局区域相关的所述进程相关的所述用户标识符改变为一个特权用户标识符,以及执行与所述全局区域相关的所述进程是否具有所有特权;以及
如果具有,则准许所述请求;
否则,确定执行与所述全局区域相关的所述进程是否具有适于所述请求的特权;以及
如果具有,则准许所述请求;
否则,拒绝所述请求。
26.根据权利要求23所述的计算机可读介质,其中所述操作可以包括以下操作之一:
修改所有进程特权,写入系统管理文件,打开保持内核存储器的装置,修改操作系统代码,访问限于根用户的文件系统,设置系统时钟,改变执行进程的调度优先级,为一个应用程序预留资源,直接访问网络层以及载入内核模块。
27.一种设备,包括:
用于在一个由单一操作系统内核实例控制的操作系统环境中,建立一个全局区域以及至少一个非全局区域的装置,以将进程与其它非全局区域中的进程隔离;
用于接收来自执行与所述非全局区域相关的第一进程的第一请求以进行一个操作的装置;
用于响应接收所述第一请求,确定执行所述被请求的操作是否能使所述第一进程获得未被授权的附加特权的装置;以及
用于如果所述第一进程能够获得所述附加特权,则拒绝所述第一请求的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US46955803P | 2003-05-09 | 2003-05-09 | |
US60/469,558 | 2003-05-09 | ||
US10/769,415 US8892878B2 (en) | 2003-05-09 | 2004-01-30 | Fine-grained privileges in operating system partitions |
US10/769,415 | 2004-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1584843A true CN1584843A (zh) | 2005-02-23 |
CN100375033C CN100375033C (zh) | 2008-03-12 |
Family
ID=32995093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100631363A Active CN100375033C (zh) | 2003-05-09 | 2004-05-09 | 一种用于在操作系统分区环境中使用细粒度特权模型管理进程活动的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8892878B2 (zh) |
EP (1) | EP1475709A3 (zh) |
JP (1) | JP2004334894A (zh) |
CN (1) | CN100375033C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101326489B (zh) * | 2005-12-12 | 2011-03-23 | 微软公司 | 用于运行多个环境的操作系统小型引导 |
CN103902366A (zh) * | 2012-12-27 | 2014-07-02 | 中国航空工业集团公司第六三一研究所 | 一种不破坏客户操作系统自有调度策略的虚拟化调度方法 |
CN105830477A (zh) * | 2013-08-12 | 2016-08-03 | 哥莱菲特软件公司 | 集成操作系统的域管理 |
US10230717B2 (en) | 2013-11-21 | 2019-03-12 | Cis Maxwell, Llc | Managed domains for remote content and configuration control on mobile information devices |
CN110879886A (zh) * | 2018-09-05 | 2020-03-13 | 西门子股份公司 | 用于运行网络服务器的方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383437B1 (en) * | 2003-09-08 | 2008-06-03 | Sun Microsystems, Inc. | Method and system for implementing super-user-compatible privileges |
US7443878B2 (en) * | 2005-04-04 | 2008-10-28 | Sun Microsystems, Inc. | System for scaling by parallelizing network workload |
US7415035B1 (en) * | 2005-04-04 | 2008-08-19 | Sun Microsystems, Inc. | Device driver access method into a virtualized network interface |
US7415034B2 (en) * | 2005-04-04 | 2008-08-19 | Sun Microsystems, Inc. | Virtualized partitionable shared network interface |
US8301767B1 (en) * | 2005-12-21 | 2012-10-30 | Mcafee, Inc. | System, method and computer program product for controlling network communications based on policy compliance |
US9038071B2 (en) * | 2006-03-30 | 2015-05-19 | Microsoft Technology Licensing, Llc | Operating system context isolation of application execution |
US8875159B1 (en) * | 2006-12-12 | 2014-10-28 | Oracle America, Inc. | System for defining non-native operating environments |
US9213566B2 (en) * | 2008-11-26 | 2015-12-15 | Red Hat, Inc. | Implementing security in process-based virtualization |
CN102183921B (zh) * | 2011-03-01 | 2012-09-12 | 上海维宏电子科技股份有限公司 | 数控系统中实现限位自动释放功能的方法 |
US9710865B1 (en) * | 2011-08-15 | 2017-07-18 | Amazon Technologies, Inc. | Coordinating distributed order execution |
US8601580B2 (en) * | 2011-12-14 | 2013-12-03 | Robert S. Hansen | Secure operating system/web server systems and methods |
US9367547B2 (en) * | 2013-03-14 | 2016-06-14 | Oracle International Corporation | Method and system for generating and deploying container templates |
JP6481463B2 (ja) * | 2015-03-30 | 2019-03-13 | 富士通株式会社 | 管理支援プログラム、方法及び装置 |
WO2016181423A1 (en) * | 2015-05-11 | 2016-11-17 | Nec Corporation | Communication apparaus, system, method, and program |
US9785783B2 (en) * | 2015-07-23 | 2017-10-10 | Ca, Inc. | Executing privileged code in a process |
CN105809000A (zh) * | 2016-03-07 | 2016-07-27 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
US11243758B2 (en) * | 2020-02-13 | 2022-02-08 | International Business Machines Corporation | Cognitively determining updates for container based solutions |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5062037A (en) | 1988-10-24 | 1991-10-29 | Ibm Corp. | Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network |
EP0389151A3 (en) | 1989-03-22 | 1992-06-03 | International Business Machines Corporation | System and method for partitioned cache memory management |
US5155809A (en) | 1989-05-17 | 1992-10-13 | International Business Machines Corp. | Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware |
US5325517A (en) | 1989-05-17 | 1994-06-28 | International Business Machines Corporation | Fault tolerant data processing system |
US5283868A (en) | 1989-05-17 | 1994-02-01 | International Business Machines Corp. | Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system |
EP0472861B1 (en) | 1990-08-31 | 1995-09-20 | International Business Machines Corporation | Method and apparatus for cross-partition control in a partitioned process environment |
US5325526A (en) | 1992-05-12 | 1994-06-28 | Intel Corporation | Task scheduling in a multicomputer system |
JP3566975B2 (ja) | 1993-10-18 | 2004-09-15 | 株式会社日立製作所 | 計算機操作端末装置の自動操作装置 |
US5437032A (en) | 1993-11-04 | 1995-07-25 | International Business Machines Corporation | Task scheduler for a miltiprocessor system |
US5784706A (en) | 1993-12-13 | 1998-07-21 | Cray Research, Inc. | Virtual to logical to physical address translation for distributed memory massively parallel processing systems |
US5963911A (en) | 1994-03-25 | 1999-10-05 | British Telecommunications Public Limited Company | Resource allocation |
JP3658420B2 (ja) | 1994-04-14 | 2005-06-08 | 株式会社日立製作所 | 分散処理システム |
JP2671804B2 (ja) | 1994-05-27 | 1997-11-05 | 日本電気株式会社 | 階層型資源管理方法 |
GB2301912A (en) | 1995-06-09 | 1996-12-18 | Ibm | Security for computer system resources |
US6064811A (en) | 1996-06-17 | 2000-05-16 | Network Associates, Inc. | Computer memory conservation system |
US5841869A (en) | 1996-08-23 | 1998-11-24 | Cheyenne Property Trust | Method and apparatus for trusted processing |
US5983270A (en) | 1997-03-11 | 1999-11-09 | Sequel Technology Corporation | Method and apparatus for managing internetwork and intranetwork activity |
US5925102A (en) | 1997-03-28 | 1999-07-20 | International Business Machines Corporation | Managing processor resources in a multisystem environment in order to provide smooth real-time data streams, while enabling other types of applications to be processed concurrently |
US6075938A (en) | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US6074427A (en) | 1997-08-30 | 2000-06-13 | Sun Microsystems, Inc. | Apparatus and method for simulating multiple nodes on a single machine |
US6154818A (en) * | 1997-11-20 | 2000-11-28 | Advanced Micro Devices, Inc. | System and method of controlling access to privilege partitioned address space for a model specific register file |
US6681238B1 (en) | 1998-03-24 | 2004-01-20 | International Business Machines Corporation | Method and system for providing a hardware machine function in a protected virtual machine |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6247109B1 (en) | 1998-06-10 | 2001-06-12 | Compaq Computer Corp. | Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space |
US6473800B1 (en) * | 1998-07-15 | 2002-10-29 | Microsoft Corporation | Declarative permission requests in a computer system |
US6314501B1 (en) * | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
EP1119813A1 (en) * | 1998-09-28 | 2001-08-01 | Argus Systems Group, Inc. | Trusted compartmentalized computer operating system |
US6907608B1 (en) | 1999-01-22 | 2005-06-14 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier in a small footprint device using global data structures |
US6356915B1 (en) | 1999-02-22 | 2002-03-12 | Starbase Corp. | Installable file system having virtual file system drive, virtual device driver, and virtual disks |
FR2792087B1 (fr) | 1999-04-07 | 2001-06-15 | Bull Sa | Procede d'amelioration des performances d'un systeme multiprocesseur comprenant une file d'attente de travaux et architecture de systeme pour la mise en oeuvre du procede |
US6279046B1 (en) | 1999-05-19 | 2001-08-21 | International Business Machines Corporation | Event-driven communications interface for logically-partitioned computer |
US6438594B1 (en) | 1999-08-31 | 2002-08-20 | Accenture Llp | Delivering service to a client via a locally addressable interface |
US6701460B1 (en) | 1999-10-21 | 2004-03-02 | Sun Microsystems, Inc. | Method and apparatus for testing a computer system through software fault injection |
US6938169B1 (en) | 1999-12-10 | 2005-08-30 | Sun Microsystems, Inc. | Channel-specific file system views in a private network using a public-network infrastructure |
US7140020B2 (en) | 2000-01-28 | 2006-11-21 | Hewlett-Packard Development Company, L.P. | Dynamic management of virtual partition computer workloads through service level optimization |
US6557168B1 (en) | 2000-02-25 | 2003-04-29 | Sun Microsystems, Inc. | System and method for minimizing inter-application interference among static synchronized methods |
US6633963B1 (en) * | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6725457B1 (en) | 2000-05-17 | 2004-04-20 | Nvidia Corporation | Semaphore enhancement to improve system performance |
US7401131B2 (en) | 2000-05-22 | 2008-07-15 | Verizon Business Global Llc | Method and system for implementing improved containers in a global ecosystem of interrelated services |
CA2335561A1 (en) * | 2000-05-31 | 2001-11-30 | Frank J. Degilio | Heterogeneous client server method, system and program product for a partitioned processing environment |
US6681258B1 (en) | 2000-05-31 | 2004-01-20 | International Business Machines Corporation | Facility for retrieving data from a network adapter having a shared address resolution table |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
KR100846530B1 (ko) | 2000-07-05 | 2008-07-15 | 언스트 앤 영 엘엘피 | 컴퓨터 서비스를 제공하는 방법 및 장치 |
US6859926B1 (en) | 2000-09-14 | 2005-02-22 | International Business Machines Corporation | Apparatus and method for workload management using class shares and tiers |
US7096469B1 (en) | 2000-10-02 | 2006-08-22 | International Business Machines Corporation | Method and apparatus for enforcing capacity limitations in a logically partitioned system |
US6748553B2 (en) | 2000-12-27 | 2004-06-08 | Intel Corporation | Method and apparatus for default factory image restoration of a system |
GB0102516D0 (en) * | 2001-01-31 | 2001-03-21 | Hewlett Packard Co | Trusted gateway system |
GB0102518D0 (en) * | 2001-01-31 | 2001-03-21 | Hewlett Packard Co | Trusted operating system |
US6813766B2 (en) | 2001-02-05 | 2004-11-02 | Interland, Inc. | Method and apparatus for scheduling processes based upon virtual server identifiers |
US7099948B2 (en) | 2001-02-16 | 2006-08-29 | Swsoft Holdings, Ltd. | Virtual computing environment |
US7461144B1 (en) | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with enhanced security |
US7363495B2 (en) | 2001-02-22 | 2008-04-22 | Bea Systems, Inc. | System and method for message encryption and signing in a transaction processing system |
US20020120660A1 (en) | 2001-02-28 | 2002-08-29 | Hay Russell C. | Method and apparatus for associating virtual server identifiers with processes |
US6820207B2 (en) * | 2001-03-01 | 2004-11-16 | International Business Machines Corporation | Method for rebooting only a specific logical partition in a data processing system as per a request for reboot |
US7076633B2 (en) | 2001-03-28 | 2006-07-11 | Swsoft Holdings, Ltd. | Hosting service providing platform system and method |
US6957435B2 (en) | 2001-04-19 | 2005-10-18 | International Business Machines Corporation | Method and apparatus for allocating processor resources in a logically partitioned computer system |
US7036123B2 (en) | 2001-04-25 | 2006-04-25 | Sun Microsystems, Inc. | System using fair-share scheduling technique to schedule processes within each processor set based on the number of shares assigned to each process group |
US7194439B2 (en) | 2001-04-30 | 2007-03-20 | International Business Machines Corporation | Method and system for correlating job accounting information with software license information |
US7028305B2 (en) | 2001-05-16 | 2006-04-11 | Softricity, Inc. | Operating system abstraction and protection layer |
US7231519B2 (en) * | 2001-06-06 | 2007-06-12 | International Business Machines Corporation | Secure inter-node communication |
US6961941B1 (en) | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
US6792514B2 (en) | 2001-06-14 | 2004-09-14 | International Business Machines Corporation | Method, system and computer program product to stress and test logical partition isolation features |
US7441017B2 (en) * | 2001-06-29 | 2008-10-21 | Thomas Lee Watson | System and method for router virtual networking |
US6738832B2 (en) | 2001-06-29 | 2004-05-18 | International Business Machines Corporation | Methods and apparatus in a logging system for the adaptive logger replacement in order to receive pre-boot information |
US20030014466A1 (en) | 2001-06-29 | 2003-01-16 | Joubert Berger | System and method for management of compartments in a trusted operating system |
JP2003029989A (ja) | 2001-07-16 | 2003-01-31 | Matsushita Electric Ind Co Ltd | 分散処理システムおよびジョブ分散処理方法 |
US20030061262A1 (en) | 2001-09-25 | 2003-03-27 | Hahn Stephen C. | Method and apparatus for partitioning resources within a computer system |
US6920485B2 (en) | 2001-10-04 | 2005-07-19 | Hewlett-Packard Development Company, L.P. | Packet processing in shared memory multi-computer systems |
US7051340B2 (en) | 2001-11-29 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | System and method for isolating applications from each other |
CN100339780C (zh) | 2002-04-18 | 2007-09-26 | 先进微装置公司 | 包括可通过安全通信路径连接中央处理器与安全服务处理器的安全执行模式的计算机系统 |
US7478139B2 (en) | 2002-04-29 | 2009-01-13 | International Business Machines Corporation | Shared resource support for internet protocol |
US7095738B1 (en) | 2002-05-07 | 2006-08-22 | Cisco Technology, Inc. | System and method for deriving IPv6 scope identifiers and for mapping the identifiers into IPv6 addresses |
US7103745B2 (en) | 2002-10-17 | 2006-09-05 | Wind River Systems, Inc. | Two-level operating system architecture |
JP4302641B2 (ja) * | 2002-11-18 | 2009-07-29 | エイアールエム リミテッド | デバイスによるメモリへのアクセスの制御 |
US7890633B2 (en) | 2003-02-13 | 2011-02-15 | Oracle America, Inc. | System and method of extending virtual address resolution for mapping networks |
US7493409B2 (en) | 2003-04-10 | 2009-02-17 | International Business Machines Corporation | Apparatus, system and method for implementing a generalized queue pair in a system area network |
US7076634B2 (en) | 2003-04-24 | 2006-07-11 | International Business Machines Corporation | Address translation manager and method for a logically partitioned computer system |
US7461080B1 (en) * | 2003-05-09 | 2008-12-02 | Sun Microsystems, Inc. | System logging within operating system partitions using log device nodes that are access points to a log driver |
US7389512B2 (en) * | 2003-05-09 | 2008-06-17 | Sun Microsystems, Inc. | Interprocess communication within operating system partitions |
US7437556B2 (en) * | 2003-05-09 | 2008-10-14 | Sun Microsystems, Inc. | Global visibility controls for operating system partitions |
US7188120B1 (en) | 2003-05-09 | 2007-03-06 | Sun Microsystems, Inc. | System statistics virtualization for operating systems partitions |
US7027463B2 (en) | 2003-07-11 | 2006-04-11 | Sonolink Communications Systems, Llc | System and method for multi-tiered rule filtering |
US9043639B2 (en) * | 2004-11-05 | 2015-05-26 | Drobo, Inc. | Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare |
US8074272B2 (en) * | 2005-07-07 | 2011-12-06 | Microsoft Corporation | Browser security notification |
US20070100915A1 (en) * | 2005-10-31 | 2007-05-03 | Rose Daniel E | Methods for displaying dynamic suggestions in a user interface |
US7725574B2 (en) * | 2006-01-23 | 2010-05-25 | International Business Machines Corporation | Web browser-based programming language error determination and reporting |
US8543683B2 (en) * | 2007-09-26 | 2013-09-24 | Microsoft Corporation | Remote monitoring of local behavior of network applications |
US7730248B2 (en) * | 2007-12-13 | 2010-06-01 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems and processes |
-
2004
- 2004-01-30 US US10/769,415 patent/US8892878B2/en active Active
- 2004-05-07 EP EP04252688A patent/EP1475709A3/en not_active Withdrawn
- 2004-05-09 CN CNB2004100631363A patent/CN100375033C/zh active Active
- 2004-05-10 JP JP2004140420A patent/JP2004334894A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101326489B (zh) * | 2005-12-12 | 2011-03-23 | 微软公司 | 用于运行多个环境的操作系统小型引导 |
CN103902366A (zh) * | 2012-12-27 | 2014-07-02 | 中国航空工业集团公司第六三一研究所 | 一种不破坏客户操作系统自有调度策略的虚拟化调度方法 |
CN103902366B (zh) * | 2012-12-27 | 2017-03-29 | 中国航空工业集团公司第六三一研究所 | 一种不破坏客户操作系统自有调度策略的虚拟化调度方法 |
CN105830477A (zh) * | 2013-08-12 | 2016-08-03 | 哥莱菲特软件公司 | 集成操作系统的域管理 |
US10469472B2 (en) | 2013-08-12 | 2019-11-05 | Cis Maxwell, Llc | Operating system integrated domain management |
US11356431B2 (en) | 2013-08-12 | 2022-06-07 | Cis Maxwell, Llc | Operating system integrated domain management |
US10230717B2 (en) | 2013-11-21 | 2019-03-12 | Cis Maxwell, Llc | Managed domains for remote content and configuration control on mobile information devices |
US10951608B2 (en) | 2013-11-21 | 2021-03-16 | Cis Maxwell, Llc | Managed domains for remote content and configuration control on mobile information devices |
US11876794B2 (en) | 2013-11-21 | 2024-01-16 | Cis Maxwell, Llc | Managed domains for remote content and configuration control on mobile information devices |
CN110879886A (zh) * | 2018-09-05 | 2020-03-13 | 西门子股份公司 | 用于运行网络服务器的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040226019A1 (en) | 2004-11-11 |
EP1475709A3 (en) | 2007-01-24 |
JP2004334894A (ja) | 2004-11-25 |
US8892878B2 (en) | 2014-11-18 |
EP1475709A2 (en) | 2004-11-10 |
CN100375033C (zh) | 2008-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1584843A (zh) | 操作系统分区中的细粒度特权 | |
US10848520B2 (en) | Managing access to resources | |
CN1595363A (zh) | 在操作系统分区内的进程间通信 | |
EP1593024B1 (en) | System and method for hierarchical role-based entitlements | |
US8516160B1 (en) | Multi-level administration of shared network resources | |
US8091088B2 (en) | Method and system for hierarchical resource management involving hard and soft resource limits | |
EP1510900B1 (en) | Delegated administration of a hosted resource | |
US9075955B2 (en) | Managing permission settings applied to applications | |
US9369472B2 (en) | Authorization framework | |
US7437556B2 (en) | Global visibility controls for operating system partitions | |
US20070006325A1 (en) | Method, system and computer program for controlling access to resources in web applications | |
US20050132220A1 (en) | Fine-grained authorization by authorization table associated with a resource | |
US20070186102A1 (en) | Method and apparatus for facilitating fine-grain permission management | |
US20080222719A1 (en) | Fine-Grained Authorization by Traversing Generational Relationships | |
JP2006508424A (ja) | ミドルウエアにおけるセキュリティ・アクセス・マネージャ | |
US20080071804A1 (en) | File system access control between multiple clusters | |
CN1770169A (zh) | 向用户/组授予访问控制列表所有权的访问控制系统和方法 | |
US8621647B1 (en) | Restricting privileges of first privileged process in operating system using second privileged process | |
CA2830880C (en) | Managing permission settings applied to applications | |
CN110851802A (zh) | 权限控制方法、装置、设备及计算机可读介质 | |
US8938473B2 (en) | Secure windowing for labeled containers | |
EP1480124B1 (en) | Method and system for associating resource pools with operating system partitions | |
CN114254371A (zh) | 数据权限处理方法、装置及服务器 | |
CN111970162B (zh) | 一种超融合架构下的异构gis平台服务中控系统 | |
CN115422526B (zh) | 角色权限管理方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |