EnFuzion supports the concept of a user. All interactions with EnFuzion at run time are assigned an owner user ID. This owner assignment is used in accounting reports to identify the work done by a single user or to restrict permitted user actions.
A user ID is a string in the form <user>@<domain>. By default, <user> is the account name of the user that is submitting the run and <domain> is the host name of the computer where the submission is performed. If EnFuzion is unable to determine the default user string, a generic anonymous user ID is assigned as the run owner.
This default user assignment can be changed through the users configuration file. This capability of changing the default user assignment is useful when a single EnFuzion user uses several systems or even several user accounts to interact with EnFuzion.
As an example, suppose that EnFuzion is used by Bob from the QA department, who regularly uses multiple computers: his desktop, his laptop and Jane's desktop computer. By default, EnFuzion will assign a different user to Bob on each machine, resulting in three users: bob@bobsdesktop.qa.company.com, bob@bobslaptop.qa.company.com, and bob@janesdesktop.qa.company.com. Instead of three users, the administrator wants to identify Bob as one EnFuzion user bob@qa.company.com.
The following section specifies how the default user assignment can be changed through the users configuration file.
EnFuzion checks for the users file in the following locations: the local working directory, the $ENFUZION_PATH/config directory, and the config subdirectory of the EnFuzion installation directory.
On Linux/Unix, the default installation directory is $HOME/enfuzion for regular users and /usr/local/enfuzion for the root user. Both locations are checked.
On Windows NT/2000/XP, the default installation directory is C:\enfuzion.
The users file consists of mapping rules, one mapping rule per line. Lines that start with "#" are treated as comments and ignored.
A mapping rule is described as:
<template> [ , <template> ] user <result>The default user assignment is taken as a starting string. If any of the templates in a line match the string, then the string is replaced with the <result> in that line. The process is repeated until there are no matches or changes in the string. The final string is the assigned user.
A <template> can be one of three forms: <account>@<host>, which matches the user and the host; <account> with no '@' character, which matches only the user; @<host> which starts with '@' character and matches only the host.
A <template> can contain wild card constructs: '*', '?' and '[...]'. '*' matches any number of characters, '?' matches one character, and '[...]' matches any of the characters inside the square brackets. '[...]' can contain a range, specified with '-'. An example is '[a-c]'.
A <result> syntax is similar to a <template>: <account>@<host> rewrites the user and the host; <account> with no '@' character rewrites only the user; @<host> which starts with '@' character rewrites only the host. Wild card constructs are not allowed in the <result>.
Here are some examples of how mapping rules are applied.
The problem with Bob, which requires access from three different systems, is solved with the following mapping rule:
bob@bobsdesktop.qa.company.com, \
bob@janesdesktop.qa.company.com, \
bob@bobslaptop.qa.company.com user bob@qa.company.com
This rule maps the user Bob from all three systems to one EnFuzion user.
Note that '\' may be used to split a single
logical line over several lines in the file in order to improve readability.
The following rule allows Bob to use EnFuzion from any computer in the QA department:
bob@*.qa.company.com user @qa.company.com
The following rule allows all users from all systems in the QA department to use EnFuzion:
@*.qa.company.com user @qa.company.com
The following rule maps all users from the QA department to a single EnFuzion user:
@*.qa.company.com user qa@company.com
The following rule maps all root and Administrator accounts to the enfuzion-admin user, which can be then given EnFuzion administrative rights:
root, Administrator user enfuzion-admin@company.com