User Management
Currently user management is done on the command line.
Adding User Accounts
Adding users is conveniently performed by invoking the script`/usr/sbin/adduser.sh.`. Example:
0 root@cl-head ~ # /usr/sbin/adduser.sh -u username -n 'real name'
This script performs all the tasks necessary for creating a new user account. There are a
number of options to it, that you can see when invoking it using the -h
flag. It reads the
configuration file /etc/qlustar/common/adduser.cf
for default values.
The user ids of new accounts should be greater than 1000 to avoid a conflict with existing system accounts. |
Removing User Accounts
Use the script /usr/sbin/removeuser.sh
to remove a user account from the system. Example:
0 root@cl-head ~ # removeuser.sh username
To recursively remove the user’s home-directory as well add the -r
option:
0 root@cl-head ~ # removeuser.sh -r username
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, 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 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.
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
tovi
: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