Learn more about Platform products at http://www.platform.com

[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]



Managing Users and User Groups


Contents

[ Top ]


Viewing User and User Group Information

You can display information about LSF users and user groups using the busers and bugroup commands.

The busers command displays information about users and user groups. The default is to display information about the user who invokes the command. The busers command displays:

The bugroup command displays information about user groups and which users belong to each group.

The busers and bugroup commands have additional options. See the busers(1) and bugroup(1) man pages for more details.

Viewing user information

Run busers all. For example:

busers all
USER/GROUP  JL/P  MAX  NJOBS  PEND  RUN   SSUSP  USUSP  RSV
default       12    -      -     -    -       -      -    -
user9          1   12     34    22   10       2      0    0
groupA         -  100     20     7   11       1      1    0

Viewing user group information

Run bugroup. For example:

% bugroup
GROUP_NAME           USERS
testers              user1 user2 
engineers            user3 user4 user10 user9
develop              user4 user10 user11 user34 engineers/
system               all users

Viewing user share information

Run bugroup -l, which displays user share group membership information in long format. For example:

% bugroup -l
GROUP_NAME:  testers   
USERS:       user1 user2 
SHARES:      [user1, 4] [others, 10] 

GROUP_NAME:  engineers   
USERS:       user3 user4 user10 user9 
SHARES:      [others, 10] [user9, 4] 

GROUP_NAME:  system 
USERS:       all users
SHARES:      [user9, 10] [others, 15] 

GROUP_NAME:  develop   
USERS:       user4 user10 user11 engineers/ 
SHARES:      [engineers, 40] [user4, 15] [user10, 34] [user11, 
16]

[ Top ]


About User Groups

User groups act as aliases for lists of users. The administrator can also limit the total number of running jobs belonging to a user or a group of users.

You can define user groups in LSF in several ways:

If desired, you can use all three methods, provided the user and group names are different.

[ Top ]


Existing User Groups as LSF User Groups

User groups already defined in your operating system often reflect existing organizational relationships among users. It is natural to control computer resource access using these existing groups.

You can specify existing UNIX user groups anywhere an LSF user group can be specified.

How LSF recognizes UNIX user groups

Only group members listed in the /etc/group file or the file group.byname NIS map are accepted. The user's primary group as defined in the /etc/passwd file is ignored.

The first time you specify a UNIX user group, LSF automatically creates an LSF user group with that name, and the group membership is retrieved by getgrnam(3) on the master host at the time mbatchd starts. The membership of the group might be different from the one on another host. Once the LSF user group is created, the corresponding UNIX user group might change, but the membership of the LSF user group is not updated until you reconfigure LSF (badmin). To specify a UNIX user group that has the same name as a user, use a slash (/) immediately after the group name: group_name/.

Requirements

UNIX group definitions referenced by LSF configuration files must be uniform across all hosts in the cluster. Unexpected results can occur if the UNIX group definitions are not homogeneous across machines.

How LSF resolves users and user groups with the same name

If an individual user and a user group have the same name, LSF assumes that the name refers to the individual user. To specify the group name, append a slash (/) to the group name.

For example, if you have both a user and a group named admin on your system, LSF interprets admin as the name of the user, and admin/ as the name of the group.

Where to use existing user groups

Existing user groups can be used in defining the following parameters in LSF configuration files:

[ Top ]


LSF User Groups

You can define an LSF user group within LSF or use an external executable to retrieve user group members.

Use bugroup to view user groups and members, use busers to view all users in the cluster.

Where to use LSF user groups

LSF user groups can be used in defining the following parameters in LSF configuration files:

If you are using existing OS-level user groups instead of LSF-specific user groups, you can also specify the names of these groups in the files mentioned above.

Configuring user groups

  1. Log in as the LSF administrator to any host in the cluster.
  2. Open lsb.users.
  3. Add the UserGroup section if it does not exist.
    Begin UserGroup
    GROUP_NAME      GROUP_MEMBER            USER_SHARES
    financial       (user1 user2 user3)     ([user1, 4] 
    [others, 10])
    system          (all)                   ([user2, 10] 
    [others, 15])
    regular_users   (user1 user2 user3 user4) -
    part_time_users (!)                       -
    End UserGroup
    
  4. Specify the group name under the GROUP_NAME column.

    External user groups must also be defined in the egroup executable.

  5. Specify users in the GROUP_MEMBER column.

    For external user groups, put an exclamation mark (!) in the GROUP_MEMBER column to tell LSF that the group members should be retrieved using egroup.

  6. (Optional) To enable hierarchical fairshare, specify share assignments in the USER_SHARES column.
  7. Save your changes.
  8. Run badmin ckconfig to check the new user group definition. If any errors are reported, fix the problem and check the configuration again.
  9. Run badmin reconfig to reconfigure the cluster.

External user group requirements (egroup)

An external user group is a user group for which membership is not statically configured, but is instead retrieved by running an external executable with the name egroup. The egroup executable must be in the directory specified by LSF_SERVERDIR.

This feature allows a site to maintain group definitions outside LSF and import them into LSF configuration at initialization time.

The egroup executable is an executable you create yourself that lists group names and users who belong to the group.

This executable must have the name egroup. When mbatchd is restarted, it invokes the egroup executable and retrieves groups and group members. The external executable egroup runs under the same account as mbatchd.

The egroup executable must write user names for the user groups to its standard output, each name separated by white space.

The egroup executable must recognize the following command, since mbatchd invokes external user groups with this command:

egroup -u user_group_name

where user_group_name is the name of the user group defined in the executable egroup along with its members, and the user group is specified in lsb.users.

[ Top ]


[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]


      Date Modified: January 12, 2004
Platform Computing: www.platform.com

Platform Support: support@platform.com
Platform Information Development: doc@platform.com

Copyright © 1994-2004 Platform Computing Corporation. All rights reserved.