Changing Passwords

After logging into ProcessMaker, any user can change his/her password by clicking on his/her username in the upper right-hand corner of the screen next to the "Logout" link. When the information about the user is displayed, click on the "Edit" button at the lower right-hand corner. Go to section Change Password, enter the current password then the new password twice and finally, click on Save.

Lost Passwords

If a user can not remember the password, he/she can ask other users with PM_USERS permission in their role to change the password. The 'admin' user has this permission as well as other users with the PROCESSMAKER_ADMIN role.

In ProcessMaker, it is not possible to look up a user's unencrypted password, but it is possible to change the password by going to USERS > USERS LIST and clicking on the View link for the user. Once viewing the information about the user, click on the Edit link to alter that information. Enter a new password and confirm it by re-entering it a second time and click Save. The next time the user logs in, he/she should be able to use the new password.

Lost 'admin' Passwords

Nonetheless, there is no easy way to change the password if the password is lost for the 'admin' and all the other users with the PM_USERS permission. In that case, follow the procedure below to reset the password.

All ProcessMaker passwords are stored in a standard MySQL table, so you can easily look them up. However, they are encrypted as 128 bit MD5 hashes, so it is difficult to decrypt them, unless you have a lot of computing power on your hands.

The best solution is to create a new password and insert it directly into the MySQL table in place of the old password. To do this, you will need access to the server where ProcessMaker is installed. You will also need to know the root password for MySQL, so you can access the rb_<workspace> database where the passwords are stored. If you have forgotten this password as well, see these instructions to reset the root password.

Generate the new password

First, create a new password hash for the user with MD5. If you are in Linux/UNIX, simply use the md5sum command to create a string of 32 hexadecimal characters.

echo -n "mypassword" | md5sum 2522c8a5837a7c180888dfc71ef7bdb2 -

Replace mypassword with your new password.

If using Windows, write a PHP script to generate an MD5 hash. In the following script, replace "newpassword" with your new password:

<?php
     print md5("newpassword");
?>

Save the script to a file called password.php in your workflow/public_html directory. In Windows, it is generally located at:

C:\Program Files\ProcessMaker\apps\processmaker\htdocs\workflow\public_html\

In Linux/UNIX, it is generally located at:

/opt/pm2985/workflow/public_html/

Then direct your web browser to http://<your-ip-address>/password.php to see the MD5 hash for the password.

Change the Password Stored in MySQL

In Windows open the Command Prompt (found at Start > All Programs > Accessories > Command Prompt) and enter:

cd "C:\Program Files\ProcessMaker\mysql\bin" mysql -u root -p Enter the root password

In Linux or UNIX, open a terminal and enter:

mysql -u root -p Enter the root password

Once inside MySQL, look up the list of usernames and their passwords in rb_<workspace>.USER which are stored as strings of 32 hexadecimal characters. For most people the WORKSPACE will be the default "workflow".

mysql> SELECT USR_USERNAME, USR_LASTNAME, USR_PASSWORD FROM rb_workflow.USERS; +--------------+--------------+----------------------------------+ | USR_USERNAME | USR_LASTNAME | USR_PASSWORD | +--------------+--------------+----------------------------------+ | admin | | 21232f297a57a5a743894a0e4a801fc3 | | vato | Batto | 8185527669f0b54109c7c99488cd08e8 | | amy | Wyron | 005b0dcf5d01311dbfae314cc8f6a10f | | patricia | Cabero | 823fec7a2632ea7b498c1d0d11c11377 | | adolfo | Lang | 10b28c9abf3a62e9dcb63da27a7186d8 | | john | Meyer | cebdd715d4ecaafee8f147c2e85e0754 | | gonzo | Clark | 2c06e8c3109975c3f139d7551e8b5def | | claudia | Bustamente | 2b9ff3efc4a999ecfacd18c4bbc57a2e | | isreal | Caballero | a0a9f5d5d59b3d047d645be41440e257 | +--------------+--------------+----------------------------------+ 9 rows in set (0.00 sec)

Now replace the password with the MD5 hash that you just created. In this example, the password for the "admin" user will be replaced:

mysql> UPDATE rb_workflow.USERS SET USR_PASSWORD='2522c8a5837a7c180888dfc71ef7bdb2' WHERE USR_USERNAME='admin'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> quit;

Now, it should be possible to login to ProcessMaker with the new password.