Oracle Solaris Trusted Extensions Administrator's Procedures

Chapter 7 Managing Users, Rights, and Roles in Trusted Extensions (Tasks)

This chapter provides the Solaris Trusted Extensions procedures for configuring and managing users, user accounts, and rights profiles.

Customizing the User Environment for Security (Task Map)

The following task map describes common tasks that you can perform when customizing a system for all users, or when customizing an individual user's account.

Task 

Description 

For Instructions 

Change label attributes. 

Modify label attributes, such as minimum label and default label view, for a user account. 

How to Modify Default User Label Attributes

Change Trusted Extensions policy for all users of a system. 

Changes the policy.conf file.

How to Modify policy.conf Defaults

Turns on the screensaver after a set amount of time. 

Logs the user out after a set amount of time that the system is idle. 

Example 7–1

Removes unnecessary privileges from all ordinary users of a system. 

Example 7–2

   

Removes labels from printed output at a public kiosk. 

Example 7–3

Configure initialization files for users. 

Configures startup files, such as .cshrc, .copy_files, and .soffice for all users.

How to Configure Startup Files for Users in Trusted Extensions

Lengthen the timeout for file relabeling. 

Configures some applications to enable authorized users to relabel files. 

How to Lengthen the Timeout When Relabeling Information

Log in to a failsafe session. 

Fixes faulty user initialization files. 

How to Log In to a Failsafe Session in Trusted Extensions

ProcedureHow to Modify Default User Label Attributes

You can modify the default user label attributes during the configuration of the first system. The changes must be copied to every Trusted Extensions host.

Before You Begin

You must be in the Security Administrator role in the global zone. For details, see How to Enter the Global Zone in Trusted Extensions.

  1. Review the default user attribute settings in the /etc/security/tsol/label_encodings file.

    For the defaults, see label_encodings File Defaults.

  2. Modify the user attribute settings in the label_encodings file.

    Use the trusted editor. For details, see How to Edit Administrative Files in Trusted Extensions. In Trusted CDE, you can also use the Edit Label Encodings action. For details, see How to Start CDE Administrative Actions in Trusted Extensions.

    The label_encodings file should be the same on all hosts.

  3. Distribute a copy of the file to every Trusted Extensions host.

ProcedureHow to Modify policy.conf Defaults

Changing the policy.conf defaults in Trusted Extensions is similar to changing any security-relevant system file in the Solaris OS. In Trusted Extensions, you use a trusted editor to modify system files.

Before You Begin

You must be in the Security Administrator role in the global zone. For details, see How to Enter the Global Zone in Trusted Extensions.

  1. Review the default settings in the /etc/security/policy.conf file.

    For Trusted Extensions keywords, see Table 6–1.

  2. Modify the settings.

    Use the trusted editor to edit the system file. For details, see How to Edit Administrative Files in Trusted Extensions.


Example 7–1 Changing the System's Idle Settings

In this example, the security administrator wants idle systems to return to the login screen. The default locks an idle system. Therefore, the Security Administrator role adds the IDLECMD keyword=value pair to the /etc/security/policy.conf file as follows:


IDLECMD=LOGOUT

The administrator also wants systems to be idle a shorter amount of time before logout. Therefore, the Security Administrator role adds the IDLETIME keyword=value pair to the policy.conf file as follows:


IDLETIME=10

The system now logs out the user after the system is idle for 10 minutes.



Example 7–2 Modifying Every User's Basic Privilege Set

In this example, the security administrator of a Sun Ray installation does not want regular users to view the processes of other Sun Ray users. Therefore, on every system that is configured with Trusted Extensions, the administrator removes proc_info from the basic set of privileges. The PRIV_DEFAULT setting in the /etc/policy.conf file is modified as follows:


PRIV_DEFAULT=basic,!proc_info


Example 7–3 Assigning Printing-Related Authorizations to All Users of a System

In this example, the security administrator enables a public kiosk computer to print without labels by typing the following in the computer's /etc/security/policy.conf file. At the next boot, print jobs by all users of this kiosk print without page labels.


AUTHS_GRANTED= solaris.print.unlabeled

Then, the administrator decides to save paper by removing banner and trailer pages. She first ensures that the Always Print Banners checkbox in the Print Manager is not selected. She then modifies the policy.conf entry to read the following and reboots. Now, all print jobs are unlabeled, and have no banner or trailer pages.


AUTHS_GRANTED= solaris.print.unlabeled,solaris.print.nobanner

ProcedureHow to Configure Startup Files for Users in Trusted Extensions

Users can put a .copy_files file and .link_files file into their home directory at the label that corresponds to their minimum sensitivity label. Users can also modify the existing .copy_files and .link_files files at the users' minimum label. This procedure is for the administrator role to automate the setup for a site.

Before You Begin

You must be in the System Administrator role in the global zone. For details, see How to Enter the Global Zone in Trusted Extensions.

  1. Create two Trusted Extensions startup files.

    You are going to add .copy_files and .link_files to your list of startup files.


    # cd /etc/skel
    # touch .copy_files .link_files
    
  2. Customize the .copy_files file.

    1. Start the trusted editor.

      For details, see How to Edit Administrative Files in Trusted Extensions.

    2. Type the full pathname to the .copy_files file.


      /etc/skel/.copy_files
      
    3. Type into .copy_files, one file per line, the files to be copied into the user's home directory at all labels.

      Use .copy_files and .link_files Files for ideas. For sample files, see Example 7–4.

  3. Customize the .link_files file.

    1. Type the full pathname to the .link_files file in the trusted editor.


      /etc/skel/.link_files
      
    2. Type into .link_files, one file per line, the files to be linked into the user's home directory at all labels.

  4. Customize the other startup files for your users.

  5. (Optional) Create a skelP subdirectory for users whose default shell is a profile shell.

    The P indicates the Profile shell.

  6. Copy the customized startup files into the appropriate skeleton directory.

  7. Use the appropriate skelX pathname when you create the user.

    The X indicates the letter that begins the shell's name, such as B for Bourne, K for Korn, C for a C shell, and P for Profile shell.


Example 7–4 Customizing Startup Files for Users

In this example, the security administrator configures files for every user's home directory. The files are in place before any user logs in. The files are at the user's minimum label. At this site, the users' default shell is the C shell.

The security administrator creates a .copy_files and a .link_files file in the trusted editor with the following contents:


## .copy_files for regular users
## Copy these files to my home directory in every zone
.mailrc
.mozilla
.soffice
:wq

## .link_files for regular users with C shells
## Link these files to my home directory in every zone
.cshrc
.login
.Xdefaults
.Xdefaults-hostname
:wq

## .link_files for regular users with Korn shells
# Link these files to my home directory in every zone
.ksh
.profile
.Xdefaults
.Xdefaults-hostname
:wq

In the shell initialization files, the administrator ensures that the users' print jobs go to a labeled printer.


## .cshrc file
setenv PRINTER conf-printer1
setenv LPDEST  conf-printer1

## .ksh file
export PRINTER conf-printer1
export LPDEST  conf-printer1

The administrator modifies the .Xdefaults-home-directory-server file to force the dtterm command to source the .profile file for a new terminal.


## Xdefaults-HDserver
Dtterm*LoginShell: true

The customized files are copied to the appropriate skeleton directory.


$ cp .copy_files .link_files .cshrc .login .profile \
.mailrc .Xdefaults .Xdefaults-home-directory-server \
/etc/skelC
$ cp .copy_files .link_files .ksh .profile \
.mailrc .Xdefaults .Xdefaults-home-directory-server \
/etc/skelK

Troubleshooting

If you create a .copy_files files at your lowest label, then log in to a higher zone to run the updatehome command and the command fails with an access error, try the following:

Unless you are using NFS mounts for home directories, the automounter in the higher-level zone should be loopback mounting from /zone/lower-level-zone/export/home/username to /zone/lower-level-zone/home/username.

ProcedureHow to Lengthen the Timeout When Relabeling Information

In Trusted Extensions, the Selection Manager mediates transfers of information between labels. The Selection Manager appears for drag-and-drop operations, and for cut-and-paste operations. Some applications require that you set a suitable timeout so that the Selection Manager has time to intervene. A value of two minutes is sufficient.


Caution – Caution –

Do not change the default timeout value on an unlabeled system. The operations fail with the longer timeout value.


Before You Begin

You must be in the System Administrator role in the global zone. For details, see How to Enter the Global Zone in Trusted Extensions.

  1. For the StarOffice application, do the following:

    1. Navigate to the file office-install-directory/VCL.xcu.

      where office-install-directory is the StarOffice installation directory, for example:


      office-top-dir/share/registry/data/org/staroffice
      
    2. Change the SelectionTimeout property value to 120.

      Use the trusted editor. For details, see How to Edit Administrative Files in Trusted Extensions.

      The default value is three seconds. A value of 120 sets the timeout to two minutes.

  2. For users of applications that rely on the GNOME ToolKit (GTK) library, change the selection timeout property value to two minutes.


    Note –

    As an alternative, you could have each user change the selection timeout property value.


    Most Sun JavaTM Desktop System applications use the GTK library. Web browsers such as Mozilla, Firefox, and Thunderbird use the GTK library.

    By default, the selection timeout value is 300, or five seconds. A value of 7200 sets the timeout to two minutes.

    1. Create a GTK startup file.

      Name the file .gtkrc-mine. The .gtkrc-mine file belongs in the user's home directory at the minimum label.

    2. Add the selection timeout value to the file.


      ## $HOME/.gtkrc-mine file
      *gtk-selection-timeout: 7200

      As in the Solaris OS, the gnome-settings-daemon reads this file on startup.

  3. (Optional) Add the .gtkrc-mine file to the list in each user's .link_files file.

    For details, see How to Configure Startup Files for Users in Trusted Extensions.

ProcedureHow to Log In to a Failsafe Session in Trusted Extensions

In Trusted Extensions, failsafe login is protected. If a regular user has customized shell initialization files and now cannot log in, you can use failsafe login to fix the user's files.

Before You Begin

You must know the root password.

  1. As in the Solaris OS, choose Options –> Failsafe Session on the login screen.

  2. At the prompt, have the user provide the user name and password.

  3. At the prompt for the root password, provide the password for root.

    You can now debug the user's initialization files.

Managing Users and Rights With the Solaris Management Console (Task Map)

In Trusted Extensions, you must use the Solaris Management Console to administer users, authorizations, rights, and roles. To manage users and their security attributes, assume the Security Administrator role. The following task map describes common tasks that you perform for users who operate in a labeled environment.

Task 

Description 

For Instructions 

Modify a user's label range. 

Modifies the labels at which a user can work. Modifications can restrict or extend the range that the label_encodings file permits.

How to Modify a User's Label Range in the Solaris Management Console

Create a rights profile for convenient authorizations. 

Several authorizations exist that might be useful for regular users. Creates a profile for users who qualify to have these authorizations. 

How to Create a Rights Profile for Convenient Authorizations

Modify a user's default privilege set. 

Removes a privilege from the user's default privilege set. 

How to Restrict a User's Set of Privileges

Prevent account locking for particular users. 

Users who can assume a role must have account locking turned off. 

How to Prevent Account Locking for Users

Enable a user to relabel data. 

Authorizes a user to downgrade information or upgrade information. 

How to Enable a User to Change the Security Level of Data

Remove a user from the system. 

Completely removes a user and the user's processes.. 

How to Delete a User Account From a Trusted Extensions System

Handle other tasks. 

Uses the Solaris Management Console to handle tasks that are not specific to Trusted Extensions. 

Handling Other Tasks in the Solaris Management Console (Task Map)

ProcedureHow to Modify a User's Label Range in the Solaris Management Console

You might want to extend a user's label range to give the user read access to an administrative application. For example, a user who can log in to the global zone could then run the Solaris Management Console. The user could view, but not not change the contents.

Alternatively, you might want to restrict the user's label range. For example, a guest user might be limited to one label.

Before You Begin

You must be in the Security Administrator role in the global zone.

  1. Open a Trusted Extensions toolbox in the Solaris Management Console.

    Use a toolbox of the appropriate scope. For details, see Initialize the Solaris Management Console Server in Trusted Extensions in Oracle Solaris Trusted Extensions Configuration Guide.

  2. Under System Configuration, navigate to User Accounts.

    A password prompt might be displayed.

  3. Type the role password.

  4. Select the individual user from User Accounts.

  5. Click the Trusted Extensions Attributes tab.

    Dialog box shows the Trusted Extensions Attributes tab
for a user.
    • To extend the user's label range, choose a higher clearance.

      You can also lower the minimum label.

    • To restrict the label range to one label, make the clearance equal to the minimum label.

  6. To save the changes, click OK.

ProcedureHow to Create a Rights Profile for Convenient Authorizations

Where site security policy permits, you might want to create a rights profile that contains authorizations for users who can perform tasks that require authorization. To enable every user of a particular system to be authorized, see How to Modify policy.conf Defaults.

Before You Begin

You must be in the Security Administrator role in the global zone.

  1. Open a Trusted Extensions toolbox in the Solaris Management Console.

    Use a toolbox of the appropriate scope. For details, see Initialize the Solaris Management Console Server in Trusted Extensions in Oracle Solaris Trusted Extensions Configuration Guide.

  2. Under System Configuration, navigate to Rights.

    A password prompt might be displayed.

  3. Type the role password.

  4. To add a rights profile, click Action –> Add Right.

  5. Create a rights profile that contains one or more of the following authorizations.

    For the step-by-step procedure, see How to Create or Change a Rights Profile in System Administration Guide: Security Services.

    In the following figure, the Authorizations Included window shows the authorizations that might be convenient for users.

    Dialog box shows the authorizations that might be appropriate
for users at your site.
    • Allocate Device – Authorizes a user to allocate a peripheral device, such as a microphone.

      By default, Solaris users can read and write to a CD-ROM. However, in Trusted Extensions, only users who can allocate a device can access the CD-ROM drive. To allocate the drive for use requires authorization. Therefore, to read and write to a CD-ROM in Trusted Extensions, a user needs the Allocate Device authorization.

    • Downgrade DragNDrop or CutPaste Info – Authorizes a user to select information from a higher-level file and place that information in a lower-level file.

    • Downgrade File Label – Authorizes a user to lower the security level of a file

    • DragNDrop or CutPaste without viewing contents – Authorizes a user to move information without viewing the information that is being moved.

    • Print Postscript – Authorizes a user to print PostScript files.

    • Print without Banner - Authorizes a user to print hard copy without a banner page.

    • Print without Label – Authorizes a user to print hard copy that does not display labels.

    • Remote Login – Authorizes a user to remotely log in.

    • Shutdown the System – Authorizes a user to shut down the system and to shut down a zone.

    • Upgrade DragNDrop or CutPaste Info – Authorizes a user to select information from a lower-level file and place that information in a higher-level file.

    • Upgrade File Label – Authorizes a user to heighten the security level of a file.

  6. Assign the rights profile to a user or a role.

    For assistance, see the online help. For the step-by-step procedure, see How to Change the RBAC Properties of a User in System Administration Guide: Security Services.


Example 7–5 Assigning a Printing-Related Authorization to a Role

In the following example, the Security Administrator allows a role to print jobs without labels on body pages.

In the Solaris Management Console, the security administrator navigates to Administrative Roles. She views the rights profiles that are included in a particular role, then ensures that the print-related authorizations are contained in one of the role's rights profiles.


ProcedureHow to Restrict a User's Set of Privileges

Site security might require that users be permitted fewer privileges than users are assigned by default. For example, at a site that uses Trusted Extensions on Sun Ray systems, you might want to prevent users from viewing other users' processes on the Sun Ray server.

Before You Begin

You must be in the Security Administrator role in the global zone.

  1. Open a Trusted Extensions toolbox in the Solaris Management Console.

    Use a toolbox of the appropriate scope. For details, see Initialize the Solaris Management Console Server in Trusted Extensions in Oracle Solaris Trusted Extensions Configuration Guide.

  2. Under System Configuration, navigate to User Accounts.

    A password prompt might be displayed.

  3. Type the role password.

  4. Double–click the icon for the user.

  5. Remove one or more of the privileges in the basic set.

    1. Double-click the icon for the user.

    2. Click the Rights tab.

      Dialog box shows the contents of the Rights tab for a
regular user.
    3. Click the Edit button to the right of the basic set in the right_extended_attr field.

    4. Remove proc_session or file_link_any.

      By removing the proc_session privilege, you prevent the user from examining any processes outside the user's current session. By removing the file_link_any privilege, you prevent the user from making hard links to files that are not owned by the user.


      Caution – Caution –

      Do not remove the proc_fork or the proc_exec privilege. Without these privileges, the user would not be able to use the system.


      Dialog box shows the basic privilege set for a regular
user.
  6. To save the changes, click OK.

ProcedureHow to Prevent Account Locking for Users

Trusted Extensions extends the user security features in the Solaris Management Console to include account locking. Turn off account locking for users who can assume a role.

Before You Begin

You must be in the Security Administrator role in the global zone.

  1. Start the Solaris Management Console.

    Use a toolbox of the appropriate scope. For details, see Initialize the Solaris Management Console Server in Trusted Extensions in Oracle Solaris Trusted Extensions Configuration Guide.

  2. Under System Configuration, navigate to User Accounts.

    A password prompt might be displayed.

  3. Type the role password.

  4. Double–click the icon for the user.

  5. Click the Trusted Extensions Attributes tab.

  6. In the Account Usage section, choose No from the pull-down menu next to Lock account after maximum failed logins.

  7. To save the changes, click OK.

ProcedureHow to Enable a User to Change the Security Level of Data

A regular user or a role can be authorized to change the security level, or labels, of files and directories. The user or role, in addition to having the authorization, must be configured to work at more than one label. And, the labeled zones must be configured to permit relabeling. For the procedure, see How to Enable Files to be Relabeled From a Labeled Zone.


Caution – Caution –

Changing the security level of data is a privileged operation. This task is for trustworthy users only.


Before You Begin

You must be in the Security Administrator role in the global zone.

  1. Follow the procedure How to Create a Rights Profile for Convenient Authorizations to create a rights profile.

    The following authorizations enable a user to relabel a file:

    • Downgrade File Label

    • Upgrade File Label

    The following authorizations enable a user to relabel information within a file:

    • Downgrade DragNDrop or CutPaste Info

    • DragNDrop or CutPaste Info Without Viewing

    • Upgrade DragNDrop or CutPaste Info

  2. Use the Solaris Management Console to assign the profile to the appropriate users and roles.

    For assistance, use the online help. For a step-by-step procedure, see How to Change the RBAC Properties of a User in System Administration Guide: Security Services.

ProcedureHow to Delete a User Account From a Trusted Extensions System

When a user is removed from the system, you must ensure that the user's home directory and any objects that the user owns are also deleted. As an alternative to deleting objects that are owned by the user, you might change the ownership of these objects to a valid user.

You must also ensure that all batch jobs that are associated with the user are also deleted. No objects or processes belonging to a removed user can remain on the system.

Before You Begin

You must be in the System Administrator role.

  1. Archive the user's home directory at every label.

  2. Archive the user's mail files at every label.

  3. In the Solaris Management Console, delete the user account.

    1. Open a Trusted Extensions toolbox in the Solaris Management Console.

      Use a toolbox of the appropriate scope. For details, see Initialize the Solaris Management Console Server in Trusted Extensions in Oracle Solaris Trusted Extensions Configuration Guide.

    2. Under System Configuration, navigate to User Accounts.

      A password prompt might be displayed.

    3. Type the role password.

    4. Select the user account to be removed, and click the Delete button.

      You are prompted to delete the user's home directory and mail files. When you accept the prompt, the user's home directory and mail files are deleted in the global zone only.

  4. In every labeled zone, manually delete the user's directories and mail files.


    Note –

    You are responsible for finding and deleting the user's temporary files at all labels, such as files in /tmp directories.


Handling Other Tasks in the Solaris Management Console (Task Map)

Follow Solaris procedures to handle tasks in the Solaris Management Console. You must be superuser, or in a role in the global zone. The following task map points to basic Solaris Management Console tasks.

Task 

For Instructions 

Perform administrative tasks by using the Solaris Management Console. 

Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration

Create users. 

Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration

Create roles. 

How to Create and Assign a Role by Using the GUI in System Administration Guide: Security Services

Modify roles. 

How to Change the Properties of a Role in System Administration Guide: Security Services

Create or modify a rights profile. 

How to Create or Change a Rights Profile in System Administration Guide: Security Services

Change other security attributes of a user. 

How to Change the RBAC Properties of a User in System Administration Guide: Security Services

Audit the actions of a role. 

How to Audit Roles in System Administration Guide: Security Services

List the rights profiles by using smprofile list -Dname-service-type:/server-name/domain-name

Chapter 9, Using Role-Based Access Control (Tasks), in System Administration Guide: Security Services or the smprofile(1M) man page