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:
AGO Other rights and their inherited forms,
the umask of UserIDs to define their default AGO rights,
a Linux Ubuntu executable, which may have Linux/Unix setUID and setGID capabilities,
the sticky bit on Directories,
the Capability groups do not use a new function, since they are handled through the configuration of the generic gBase, such as the current functions of an operating system like the Account/Group management for instance; nonetheless, the capacity groups require specialized methods for the path searching,
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:
the API exchanges between two executables are not simulated, nor the communication with an IP port.
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