Package ARoad0.AcsAddon.Accbee.Ubuntu.gBase

Provides the gBase classes for modelizing a Linux Ubuntu operating system, as an extension, in the AcsAddon Ubuntu, of the generic ARoad0.gBase package.

See:
          Description

Class Summary
ACSFactoryUbuntuImpl This class is responsible for creating a Linux Ubuntu as an access control system (ACS).
ACSUbuntuImpl This class is responsible for modeling a Linux Ubuntu as an access control system (ACS).
ActorUbuntuImpl This class is responsible for modeling a Linux Ubuntu actor which may have access to controled resources.
BaseUtilityUbuntuImpl This class is a utility class for the Ubuntu ACS, with only static methods.
CAgoUserUbuntuImpl This class is an embedded one, responsible for modeling the AGO 'other' rights and the sticky bit on Ubuntu directories.
DirectoryUbuntuImpl This class is responsible for modeling a Linux/Unix directory which contains children (resources and others directories).
ExecutableUbuntuImpl This class is responsible for modeling a Linux Ubuntu executable, which may have Linux/Unix setUID and setGID capabilities.
ResourceUbuntuImpl This class is responsible for modeling a Linux Ubuntu resource.
UserIDUbuntuImpl This class is responsible for modeling an account in an ACS Ubuntu, as a kind of eligible party.
 

Package ARoad0.AcsAddon.Accbee.Ubuntu.gBase Description

Provides the gBase classes for modelizing a Linux Ubuntu operating system, as an extension, in the AcsAddon Ubuntu, of the generic ARoad0.gBase package. The Ubuntu ACS Addon has 5400 physical source lines of code (generated using David A. Wheeler's 'SLOCCount'). The specific Ubuntu gBase functions are:

All the classes in this package are subclasses of the generic gBase package, and they implements the Ubuntu.gBaseInterface interfaces. Most of these classes may be viewed as having a double inheritance: one from a generic class, and one from a set of methods that are duplicated in each class to implements an Ubuntu interface, or to override a method from the generic gBase. The design in this package is strongly derived from the generic gBase design of the 0.6 version, which includes all the Linux Ubuntu functions. The main difference is that the classes in this package extends the generic gBase classes, rather than to extend the classes of this package. For instance, ActorUbuntuImpl does not extend ResourceUbuntuImpl, but ARoad0.gBase.ActorImpl. This is why some package methods, like ResourceUbuntuImpl.setAGOAccessFromTheParentOther(), have to be put in the Ubuntu.gBaseInterface package to be used by varied Ubuntu.gBase classes.

The paths searching covers fully the ACL rights. Nevertheless, in Ubuntu for this version, there is no management of the Linux Access Control Lists. An ACL, such as it is handled in Access Road, transmits the Account/Group context of its source to its target if the two objects are from the same ACS. This is never true for a privilege or a bridge, for which the target has its proper AGO context, including an empty context sometimes.

The class ARoad0.gBase.BaseManagerImpl is responsible for the database management. The classes ACSFactoryUbuntuImpl and ACSUbuntuImpl are used for the construction and the handling of ACS. BaseUtilityUbuntuImpl is the single utility class. CAgoUserImplUbuntu is the single composite class, and it is used in every ACSObject class to implement ResourceUbuntu.

Like any AcsAddon, this package offers gBase classes which may be used by any generic ACS or by an ACS from another AcsAddon. Nonetheless, the classes in this package are designed to work together. A single class may be reused, but after a careful study of its code.

The Linux Ubuntu simulation has some limitations, as described following:

Ease-of-use: high. The package is well structured, but the database concepts have to be well understood.

Reliability: high. The main execution paths have been well tested.

Version: Ubuntu ACS Addon 0.7.1