Book Image

JIRA 6.x Administration Cookbook

By : Patrick Li
Book Image

JIRA 6.x Administration Cookbook

By: Patrick Li

Overview of this book

Table of Contents (16 chapters)
JIRA 6.x Administration Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Resetting the JIRA administrator password


Sometimes, you might forget or lose the password to the account with the JIRA Administrator or JIRA System Administrator permission, and you cannot retrieve it using the password-reset option. For example, suppose JIRA does not have an SMTP server configured, or you are restoring JIRA from a data dump and do not know the account and/or password. In these cases, you need to reset the administrator password directly in the database.

Note

This recipe only applies to JIRA instances that use the default internal user directory option. External user management such as LDAP will not work with this recipe.

Getting ready

Since we will reset the password in JIRA's database, make sure you do the following:

  • Connect to the JIRA database either via the command line or a GUI

  • Update the JIRA database records

How to do it…

Let's assume we use the default mysql command-line tool and MySQL as the backend database for JIRA. If you are using a different database, you may need to change the following SQL statements accordingly:

  1. Connect to the JIRA database with a client tool by running the mysql -u jirauser -p command, where jirauser is the username to access the JIRA database.

    Tip

    You can find JIRA's database details from the dbconfig.xml file located at JIRA_HOME.

  2. Change to the JIRA database by running the use jiradb command, where jiradb is the name of JIRA's database.

  3. Determine the groups that have the JIRA System Administrators global permission with the following SQL statement:

    select perm_parameter from schemepermissions where PERMISSION=44;
  4. Find users that belong to the groups returned in step 3 using the following SQL statement, where jira-administrators is a group returned from step 3:

    select child_name, directory_id from cwd_membership where parent_name='jira-administrators';
  5. Reset the user's password in the database with the following SQL statement, where admin is a user returned in step 4:

    update cwd_user set credential='uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==' where user_name='admin';
  6. Restart JIRA to apply the change.

How it works…

With JIRA's internal user directory, all the user and group data are stored in the JIRA database. The value 44 is the ID for the JIRA System Administrators global permission.

If you do not know what groups or users have been granted the JIRA System Administrators global permission, we will first have to find this information using steps 3 and 4. Otherwise, you can skip to step 5 in order to reset the password.

JIRA's user password information is stored in the cwd_user table. Since JIRA only stores the hash value of the password, we changed the user's admin password to uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==, which is the hash value of sphere.