- Before you start
- What must the verification script do?
- What must the configuration script return?
- Step 1: Open the virtual users settings
- Step 2: Turn on virtual users
- Step 3: Enter the verification script
- Step 4: Enter the configuration script
- Step 5: Save the settings
- Result
- Does each virtual user need a user license?
- Related
In short: Virtual users let ProVide verify and configure accounts through your own scripts instead of storing the accounts in ProVide. Users can then sign in against a database, a business system or any other user source your script can read. Virtual users are available from the Maxi license.
Applies to: Maxi, Mega | Windows, and Linux through Docker
Last reviewed: October 2026
Before you start #
- You need an account with administrator privileges in the web-based admin interface.
- You need two scripts or programs that ProVide can run: one that verifies a user’s login and one that returns the user’s configuration. The next two sections describe what each one must do.
What must the verification script do? #
ProVide runs the verification script when a user supplies a password. Pass at least the %USERNAME% and %PASSWORD% tokens, and add other tokens such as %IP% if your check needs them. For example: C:\Scripts\login.cmd "%IP%" "%USERNAME%" "%PASSWORD%"
The script reports the result through its return value. A return value of 0 grants access, and any other value denies it.
What must the configuration script return? #
ProVide runs the configuration script when it needs the user’s complete account setup. Pass at least the %USERNAME% token. For example: C:\Scripts\userconfig.cmd "%USERNAME%"
The script writes the account setup to standard output, in the same format ProVide uses for its own account files. To see the format, create a user with the settings you want in the admin interface. Then open that user’s username.uac file in the accounts folder of the ProVide installation directory.
ProVide enforces what the script returns, such as the home directory structure, speed or login limits, or a requirement to sign in with a public key over SFTP. To keep the script short, define common settings in groups and let the script return which groups the user should inherit settings from.
Step 1: Open the virtual users settings #
Go to Access > Virtual Users. The settings for virtual users open.
Step 2: Turn on virtual users #
Turn on Enable virtual users authentication.
Step 3: Enter the verification script #
In User verification script, enter the full command line for your verification script, including the tokens.
Step 4: Enter the configuration script #
In User configuration script, enter the full command line for your configuration script, including the %USERNAME% token.
Step 5: Save the settings #
Click OK to save and close the window, or Apply to save and keep it open.
Result #
Sign in with an SFTP client, using a username that exists only in your external user source. If the verification script returns 0, the user gets the home directory and settings that the configuration script returned. You can follow the login under Log > Server Activity.
Does each virtual user need a user license? #
Yes. (Unless you have a server license) Each virtual user uses one user license, the same as other user accounts. ProVide allocates the license when the user first connects, and it expires one month after the user’s last connection.
Related #
For complete example scripts, including one that requires public key authentication over SFTP, see Virtual users in ProVide.