eldixusers - user management for program \'eldix\' for the ELDICO electron diffration system


eldixusers [ -b|--bck ] [ -d|--db DBFILE ] [ -h|--help ] [ -v|--verbose ] [ -V|--VERSION ] [ DBFILE ]


eldixusers is a Python / Tk based graphical user interface for managing users for program \'eldix\' that drives the ELDICO electron diffraction system. The user management is an optional feature of program \'eldix\' and can be turned off altogether. It will be applied only if the program is configured to do so by:

  • settting user policy to \'strict\'

  • using a user database file and not just a single user

The corresponding lines in section [auth] of the eldix configuration file are \'policy=strict\' and \'db=DBFILE\'. Unless a DBFILE is given on the command line, the program reads the same configuration file as program eldix (see section CONFIGURATION FILE below). Please see the man page eldix.cfg for more details about the configuration file.



Do not create a backup at startup. By default, a backup file is created as DBFILE.bck.YYYYMMDD-HHMMSS

-d|--db *DBFILE*

Full path name of the user database file


Prints a summary of program command line options.


Increases verbosity level for more program output.


Only show program version and exit.


Any further argument not leaded by a switch is treated as the name of the user database.


The main window features a menubar with a single item (Quit, or shortcut key \'q\'). In the upper part of the main window there is an input field for the user name. Then, there are buttons \"Add\", \"Change\" and \"Delete\" for the selected user name. The lower part of the main window shows the available users and the role assigned to that user as taken from the database (DBFILE). When you click a line in that list, the username field is automatically updated with that entry. Please note, that any changes to the database will directly be written to disk. The program eldixusers therefore automatically creates a backup of the database at startup named DBFILE.bck.DATE-TIME, so in case something unexpected happens, you may revert the action.


When clicking the \"Add\" button, a new window will pop up unless the given username already exists in the database. In the popup window, provide a password and assign a role for that user. You may choose option \"None\". The entry in the database then will contain only username:\$CIPHER\$SALT\$HASH. Without a role, the default behaviour of program eldix is to assume role \"Major\". Please note, that you cannot give an empty password to new users.


When clicking the \"Change\" button, a new window will pop up unless the given username does NOT exist in the database. In the popup window, provide a new password and assign a new role to the given user. The password field may be left empty. In that case, the existing password will remain as is.


When clicking the \"Delete\" button, the given user will be removed from the database.


The database is a simple ASCII-file that contains one line for every user. A user line contains 2 to 3 elements separated by a colon (\":\"):

  • username

  • hashed password string

  • assigned role (optional)

Example: eldix:\$apr1\$nK4/FNVY\$9VIUw.j8ez3pecAkeMMUh0:general

The hashed password is a digested password as used by the Apache webserver and has the general form of \$CIPHER\$SALT\$HASH where CIPHER is the algorithm to be used for encoding the actual password (here: apr1), SALT is a random string of 8 characters (here: nK4/FNVY) and HASH is the digested password (here: 9VIUw.j8ez3pecAkeMMUh0). The digested password cannot be transformed back to the real password. With a given SALT, though, the real password will be encoded to always the same HASH. The user role is specific to the eldix program and is one of \"general\", \"major\", \"sergeant\" and \"private\". Depending on the role, functions of the programs will be presented or hidden. Please see the man pages eldix and eldix.cfg for more details.


The program reads the same configuration file as program \"eldix\" and takes the name of the database from here. When a DBFILE is given on the command line, that is taken instead.


eldix, eldix.cfg


Claudio Klein, Marxperts GmbH, Norderstedt, Germany


© Copyright 2021 Marxperts GmbH, Norderstedt, Germany



MarXperts GmbH Phone: +49 - (40) - 529 884-0 Werkstr. 3 FAX: +49 - (40) - 529 884-20 D-22844 Norderstedt - GERMANY info\ _