Users and permissions
Create the following users on the corresponding servers before the installation.
Linux servers
Application user is a user for installation process and running the Work.AI services. By default, WFUSER.
- The user must exist on each Linux server.
- The user must have the SSH access from the Master server to all other Linux servers via the SSH-key.
- The user must have the
sudopermissions on all Linux servers. The following privileged operations are required for this user:/usr/bin/sh,/usr/bin/su,/bin/bash,/usr/bin/mkdir,/usr/bin/chmod,/usr/bin/chown. - The user can be either a local Linux user or an LDAP user (for example, from ActiveDirectory).
- The user (
WFUSER) and the group it belongs to (WF_GROUP) must be the same for all Linux servers (including UID and GID). - The user and the group it belongs to must not contain any whitespace characters in the name.
To install Work.AI most quickly, you will need the SSH access and the sudo permissions. After the installation, you can revoke them, if needed.
If your company's policies can't provide you with these requirements, the user with the root privileges must perform all the required operations manually. In this case, the installation takes longer.
Windows servers
BI installation user (
BI_USER) must exist on the BI (Analytics) servers with the Administrator privileges. The user's credentials must be the same on all BI servers.The following password policies are applied for the BI installation user:
- Allowed symbols:
#*@/\+-=_}{][:,)(.;!? - Forbidden symbols:
^'|``><"&%
- Allowed symbols:
RPA installation user (
RPA_USER) must exist on RPA servers with the administrator privileges. The user's credentials must be the same on all RPA servers.All usernames on Windows servers must not contain any whitespace characters.
The following password limitations apply for Windows installation users:
- Allowed symbols:
#*@/\+-=_$}{][:,)(.;!? - Forbidden symbols:
^'|``><"&%
- Allowed symbols:
Other requirements
- WinRM (over HTTPS with CredSSP authentication) must be available from the Master server to all Windows servers for respective Windows installation users.
- Domain and local policies must provide Administrator permissions for at least 60 minutes.
- Time must be synchronized on all servers.
How to create users
On Master server
To create the application user on the server, from which you are going to install the system:
Connect to the Master server as a user with the
sudoprivileges:$ ssh -i <path-to-private-key.pem> <root>@<hostname.example.com>Create an application user:
$ sudo useradd -m USERNAMEHere,
USERNAMEis the login name of the application user. Use the lowercase letters.Provide the
sudoprivileges for the application user. For that:Make sure that the line
#includedir /etc/sudoers.dexists in thesudoersfile.sudo cat /etc/sudoers | grep includedir
#includedir /etc/sudoers.dRun the command:
$ sudo visudo -f /etc/sudoers.d/USERNAMEIn the end of the
sudoersfile, add the following line:USERNAME ALL=(ALL) NOPASSWD:/usr/bin/sh,/usr/bin/su,/bin/bash,/usr/bin/mkdir,/usr/bin/chmod,/usr/bin/chownSave and close the file.
Switch to the application user:
$ sudo su - USERNAMEGenerate the SSH pair key for the installation:
$ ssh-keygen -t rsa -C 'inventory@workfusion.com' -f ~/.ssh/ansible_ssh_key -N ''If using a private password-protected SSH key, enter the passphrase when prompted during the installation.
Open the generated public key and save it to clipboard:
$ cat ~/.ssh/ansible_ssh_key.pub
After the above operation, proceed to other Linux and Windows servers to create the same user there. For the instructions, see the further sections.
If you plan to set up the Work.AI platform in the HA mode, remember to add the same user on all Master servers.
On other Linux servers
The same user must be present on all Linux servers, including those that are used for load balancing, if you decide to install Work.AI in the HA mode.
To create the application user on other Linux servers:
Connect to a Linux server as a user with the
sudoprivileges:$ ssh -i <path-to-private-key.pem> <root>@<vdsmaster1.workfusion.com>Create the application user:
$ sudo useradd -m USERNAMEThe user's name must be the same as on the Master server and be written in lowercase letters.
Provide the no-password
sudoprivileges for the application user. For that:Make sure that the line
#includedir /etc/sudoers.dexists in thesudoersfile.$ sudo cat /etc/sudoers | grep includedir
#includedir /etc/sudoers.dRun the command:
$ sudo visudo -f /etc/sudoers.d/USERNAMEIn the end of the
sudoersfile, add the following line:USERNAME ALL=(ALL) NOPASSWD:/usr/bin/sh,/usr/bin/su,/bin/bash,/usr/bin/mkdir,/usr/bin/chmod,/usr/bin/chown
Save and close the file.
Create the folder for the SSH keys and change its permissions:
$ sudo mkdir /home/USERNAME/.ssh/
$ sudo chmod 700 /home/USERNAME/.ssh/In the new directory, create the
authorized_keysSSH key file and paste the copied public key from the Master server to it:$ sudo vi /home/USERNAME/.ssh/authorized_keysChange permissions and the owner of the directory:
$ sudo chown -R USERNAME:USERNAME /home/USERNAME/.ssh
$ sudo chmod 600 /home/USERNAME/.ssh/authorized_keysMake sure that SSH key-based authentication is enabled on all Linux servers. In this case, the
/etc/ssh/sshd_configfile on these servers must contain the following line:PubkeyAuthentication yesIf you use SSH password-based authentication instead, the
/etc/ssh/sshd_configfile on all Linux servers must contain the following line:PasswordAuthentication yes
To check that you have done everything right, make the SSH connection from the Master server to the current server as the application user:
[USERNAME@<master-server> ~]$ ssh -i ~/.ssh/ansible_ssh_key USERNAME@<current_server_host>
On Windows servers
To create an installation user on the Windows server:
Download Remote Desktop or any other software for connecting to Windows servers.
Open the software and specify:
- Server name
- Username
- User password
Connect to the remote Windows server as a user with the administrator's privileges.
Run PowerShell as Administrator.
In PowerShell, run the following commands:
$ net user USERNAME PASSWORD /add
$ net localgroup administrators USERNAME /addHere,
USERNAMEis the name of the Windows installation user, andPASSWORDis the password for the Windows installation user.
For future maintenance, make sure that the Windows user is active, has all required administrator permissions, and the password is not expired.