Go to main content

man pages section 7: Standards, Environments, Macros, Character Sets, and Miscellany

Exit Print View

Updated: Wednesday, January 24, 2018



labels - Solaris label attributes


Labels are attributes that are used in mandatory policy decisions. Labels are associated, either explicitly or implicitly, with all subjects (generally processes) and objects (generally things with data such as files) that are accessible to subjects. The default mandatory policy labels are defined by a site's security administrator in label_encodings(5) man page.

Mandatory Policy

Two labels are always defined: admin_low and admin_high. The site's security administrator defines all other labels in label_encodings(5) man page.

Solaris Mandatory Policy

The default mandatory policy for Solaris applies to processes and filesystem objects. By default, all processes are started with a clearance of admin_high, and all files are implicitly labeled admin_low. The MAC policy for reading and writing is that the subject clearance must dominate the label of the object. Dominance is also required to trace another process or view its attributes. Operations that modify the kernel such as loading modules or using the modular debugger on a live kernel require that the process has a clearance of admin_high.

Processes may lower their own clearance, but not raise it. Typically the clearance for a user session is set by pam_setcred(3PAM). Users can also lower the clearance of applications using the sandbox command.

Authorized users may set the label of files to which they have write access, to labels dominated by their clearance. Newly created files are automatically labeled with the label of their parent directory. Additional restrictions are described in setflabel(3TSOL).

Trusted Extensions Mandatory Policy

The default mandatory policy of Trusted Extensions is a Mandatory Access Control (MAC) policy that is equivalent to that of the Bell-LaPadula Model of the Lattice, the Simple Security Property, and the *-Property (Star Property), with restricted write up. The default mandatory policy is also equivalent to the Goguen and Mesegeur model of Non-Interference.

Admin_low is associated with all normal user readable (viewable) Trusted Extensions objects. admin_high is associated with all other Trusted Extensions objects. Only administrative users have MAC read (view) access to admin_high objects and only administrative users have MAC write (modify) access to admin_low objects or admin_high objects.

Human Readable Labels

Users interact with labels as strings. Graphical user interfaces and command line interfaces present the strings as defined in label_encodings(5). Human readable labels are classified at the label that they represent. Thus the string for a label A is only readable (viewable, translatable to or from human readable to opaque m_label_t) by a subject whose label allows read (view) access to that label.

Internal Text Labels

In order to store labels in publicly accessible (admin_low) name service databases, an unclassified internal text form is used. This textual form is not intended to be used in any interfaces other than those that are provided with the Trusted Extensions software release that created this textual form of the label.

Labels and Applications

Applications interact with labels as opaque (m_label_t) structures. The semantics of these opaque structures are defined by a string to m_label_t translation. This translation is defined in label_encodings (5). Various Application Programming Interfaces (API) translate between strings and m_label_t structures. Various APIs test access of subject-related labels to object-related labels.


See attributes(7) for description of the following attributes:

Interface Stability
See below

The labels implementation is Committed for systems that implement the Defense Intelligence Agency (DIA) MAC policy of label_encodings(5). Other policies might exist in a future release of Trusted Extensions that might make obsolete or supplement label_encodings.

Internal text labels are Not-an-Interface and might change with any release of Trusted Extensions. They are intended only for input and generation on the same release of Trusted Extensions software.

As a potential porting aid for Trusted Solaris 8 applications, the opaque structure names bslabel_t, blevel_t, and bclear_t are defined to be equivalent to m_label_t. Like m_label_t, these types must be ported as opaque pointers. The same must be done with the various Trusted Solaris 8 label interfaces. These Trusted Solaris 8 structures and interfaces are Obsolete and might be removed from a future release of Trusted Extensions.

See Also

blcompare(3TSOL), label_to_str(3TSOL), m_label_alloc(3TSOL), m_label_dup(3TSOL), m_label_free(3TSOL), str_to_label(3TSOL), label_encodings(5), attributes(7), chk_encodings(8)

Bell, D. E., and LaPadula, L. J. Secure Computer Systems: Unified Exposition and Multics Interpretation, MTR-2997 Rev. 2, MITRE Corp., Bedford Mass., March 1976. NTIS AD-A023 588/7.

Goguen, J. A., and Mesegeur, J.: Security Policies and Security Models, Proceedings 1982 Symposium on Security and Privacy, IEEE Computer Society Press, 1982, p 11-20.

Goguen, J. A., and Mesegeur, J.: Unwinding and Interference Control, Proceedings 1984 Symposium on Security and Privacy, IEEE Computer Society Press, 1984, p 75-86.

Compartmented Mode Workstation Labeling: Encodings Format

Trusted Extensions Configuration and Administration


The functionality described on this manual page is available only if the system is configured with Trusted Extensions.