如何重置 Zoneminder 密码?

如何重置 Zoneminder 密码?

有没有办法重置监控应用程序的管理员密码区域提醒器无需重新安装应用程序?我无法在文档中或通过谷歌搜索找到此信息。

答案1

1)登录mysql,例如MySQL服务器中的“root”用户:

$ mysql -u root -p
Enter password:

2)输入密码然后输入,结果是:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6485
Server version: 5.5.29-0ubuntu0.12.04.1 (Ubuntu)
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

3)写入:show databases;

结果是:

+--------------------+
| Database           |
+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

| zm                 |
+--------------------+

共 5 行 (0.00 秒)”

4)这里是您所有的数据库,假设“zm”​​就是您正在寻找的数据库。

写:use zm;

输出为:

   Reading table information for completion of table and column names
   You can turn off this feature to get a quicker startup with -A
   Database changed

5)如果您想检查“zm”数据库中“用户”表的用户和其他部分,您需要更改用户的密码。

写:select * from Users;

结果是:

+----+----------+-------------------------------------------+----------+---------+--------+--------+---------+----------+---------+--------+--------------+------------+
| Id | Username | Password                                  | Language | Enabled | Stream | Events | Control | Monitors | Devices | System | MaxBandwidth | MonitorIds |
+----+----------+-------------------------------------------+----------+---------+--------+--------+---------+----------+---------+--------+--------------+------------+

|  1 | admin    |  yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy |          |       1 | View   | Edit   | Edit    | Edit     | Edit    | Edit   |              |            |
|  2 | admin2    | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |          |       1 | View   | Edit   | Edit    | Edit     | None    | Edit   |              | 1          |
+----+----------+-------------------------------------------+----------+---------+--------+--------+---------+----------+---------+--------+--------------+------------+

2 行 (0.00 秒)”

6)然后假设您要更改“admin”用户的密码并将其留空,请输入:

mysql> update Users set Password="" where Username="admin";

结果是:

   mysql> update Users set Password="" where Username="admin";
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    mysql>

请注意,所有这些“y”和“x”都替换了我 zm 配置中密码的哈希值。因此,如果您在 zm 网页的选项菜单中选择了哈希、纯文本或无:

“AUTH_RELAY 用于传递身份验证信息的方法(?)散列纯文本无”

在 MySQL 中,您将看到相应的密码,比如您会发现一个哈希值,或者您的密码是纯文本,或者如果根本没有密码,则是一个空格。希望这对您有所帮助。我在 Ubuntu 服务器 12.04 中使用 Zoneminder 1.25。

答案2

不是将密码清零,而是使用 PASSWORD 函数对密码进行哈希处理,因此请使用该函数来设置新密码。

update Users set Password=PASSWORD('newpass') where Username='admin';

答案3

尝试查看 /etc/apache2/conf.d/zoneminder.conf 我怀疑密码是否以纯文本形式存在,但值得一试。

快速查看后发现它确实使用了 sql 后端,用户/密码可能就在那里。由于安装程序要求对 sql 使用不同的密码,因此您可以尝试进入那里,尽管密码(希望)是加密的。您可以使用类似http://packages.ubuntu.com/hardy/mysql-query-browser查看数据库表/行

答案4

在 ZoneMinder 1.34 上,将密码设置为空(“”)不起作用,因为 ZoneMinder GUI 要求密码非空。

不过,密码仍然可以通过 mysql 重置。其他方法在这里也有效,只要可以插入已知好密码的哈希值即可。在我的例子中,我将来自另一个 ZoneMinder 安装的哈希值复制到数据库用户表并重新启动 ZoneMinder。

UPDATE Users SET Password="<some good hash string>" WHERE Username = "admin";

相关内容