User Management

Starting from Qlustar 12, user management is done via QluMan. If you have updated a pre-12 installation and didn’t migrate to LDAP, you still use NIS for user management which is done on the command line (see the 11.0 admin manual for details).

Managing user restrictions

In the default configuration of a Qlustar cluster, all registered users are allowed to login by ssh on the cluster nodes. If this is not wanted, on nodes running slurm it is easily possible for cluster admins to change the default behavior. Users will then be allowed to ssh only into nodes where one of their slurm jobs is running. To activate this setting for a node, use QluMan to assign the generic property Limit User Logins with a value yes to it.

There is a special group node-ssh. If this group is defined, members of it are allowed to login by ssh on the cluster nodes regardless of their slurm job status.

Shell Setup

The Qlustar shell setup supports tcsh and bash. There are global initialization files that are used in both shells, so you only have to modify one file for environment variables, aliases and path variables. The global files are:

/etc/qlustar/common/skel/env

Use this file to add or modify environment variables that are not path variables. The syntax of this file is as follows: lines beginning with a hash sign (#) and empty lines are ignored. Every other line consists of a variable name and the value for this variable separated with a space. Example: the following line sets the variable VISUAL to vi:

VISUAL vi

A file ~/.ql-env in a user’s home directory can define personal environment variables in the same manner.

/etc/qlustar/common/skel/alias

Use this file to define shell aliases. It has the same syntax as the file env described above. Again, a personal ~/.ql-alias file can define personal aliases.

/etc/qlustar/common/skel/paths

This directory contains files with a name of the form varname.Linux. The varname is converted to upper case and specifies a ‘PATH like’ environment variable (e.g. PATH, MANPATH, LD_LIBRARY_PATH, CLASSPATH , …​ ). Each line in this file is a directory to add to this environment variable. If the line begins with a ’p’ followed by a space followed by a directory, then this directory is prepended to the path variable otherwise it is appended. A user can create his/her own ~/.paths directory and so can use the same mechanism.

Bash Setup

We provide an extensible bash setup and bash is the recommended login shell. The bash startup consists of global settings and user settings. Global settings are stored in files under /etc/qlustar/common/skel. User settings are stored in files in the corresponding home directory.

/etc/qlustar/common/skel/bash/bashrc

This file sources the other bash files. Do not modify.

/etc/qlustar/common/skel/bash/bash-vars

This file is used for setting bash variables.

/etc/qlustar/common/skel/bash/alias

This file defines bash aliases.

/etc/qlustar/common/skel/bash/functions

You can use this file if you plan to create bash functions available to users.

The file ~/.bashrc also sources the following user specific files which have the same meaning as the global bash files.

  • ~/.bash/env

  • ~/.bash/bash-vars

  • ~/.bash/alias

  • ~/.bash/functions

Tcsh Setup

We provide a similar setup for the tcsh. The following files are used:

/etc/qlustar/common/skel/tcsh/tcshrc

This global tcshrc is sourced first and sources other startup files.

/etc/qlustar/common/skel/tcsh/tcsh-vars

Use this file to set tcsh variables.

/etc/qlustar/common/skel/tcsh/alias

You can use this file to define tcsh aliases.

The file ~/.tcshrc also sources the following use specific files which have the same meaning as the global tcsh files.

  • ~/.tcsh/alias

  • ~/.tcsh/env

  • ~/.tcsh/tcsh-vars