Имеется установленный TestRail, к которому потеряли пароля админа, а опция Reset Password сообщает, что “Email sending failed” – хотя почта настроена, и работает – пользователи письма получают.
Лог /var/www/testrail.example.com/logs/log-2019-05-13.php
ничего внятного не сообщает, поэтому поступим проще – обновим пароль прямо в базе данных.
Создаём бекап базы:
[email protected]:/home/admin# mysqldump testrail > testrail.sql-13.05.2019.bkp
Подключаемся к серверу, находим базу данных TestRail:
[email protected]:/home/admin# mysql
...
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testrail |
+--------------------+
Пользователи и их пароли хранятся в таблице users
:
MariaDB [(none)]> use testrail;
MariaDB [testrail]> desc users;
+---------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(250) | NO | | NULL | |
| email | varchar(250) | NO | UNI | NULL | |
| is_admin | tinyint(1) | NO | | NULL | |
| salt | varchar(250) | NO | | NULL | |
| hash | varchar(250) | NO | | NULL | |
| is_active | tinyint(1) | NO | | NULL | |
| rememberme | varchar(250) | NO | | NULL | |
| locale | varchar(250) | YES | | NULL | |
...
Находим администратора:
MariaDB [testrail]> select id, name from users;
+----+-------------------+
| id | name |
+----+-------------------+
| 1 | admin |
| 2 | F15531697701961 |
...
И обновляем пароль.
Задаём salt
== xv4kregi40eyortrqy1d, hash
== 3e1bb0a896b92c950a449ecb5358cb10 – это создаст пароль “secret“, указывая в where
ID == 1:
MariaDB [testrail]> update users set salt = 'xv4kregi40eyortrqy1d', hash = '3e1bb0a896b92c950a449ecb5358cb10' where id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Логинимся с паролем “secret“, с сбрасываем на нормальный.