如何重置 Datastax Opscenter 的管理员密码?
How to reset the admin password for Datastax Opscenter?
如何在 Datastax Opscenter 中重置管理员密码?在 /etc/opscenter/opscenterd.conf 中禁用和重新启用身份验证会成功吗?在此过程中我会丢失任何其他数据吗?
我不知道在 OpsCenter 中简单地重置管理员密码的官方方法。但是,我确实知道一种 "hacky" 方法来做到这一点,如果你愿意的话(如果你有物理或 ssh 访问服务器)。
OpsCenter 的用户身份验证在名为 passwd.db
的 SQLite 数据库文件中维护,该文件位于 OpsCenter 目录的根目录中。一旦您在 OpsCenter 中启用用户身份验证,就会创建该文件。使用sqlite3,你可以打开和管理这个文件:
$ sqlite3 passwd.db
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
sqlite> PRAGMA table_info(users);
0|id|INTEGER|0||1
1|username|TEXT|0||0
2|password|TEXT|0||0
3|groupid|INTEGER|0||0
sqlite> SELECT * FROM users;
1|admin|8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918|1
查看上方,您可以看到全新安装的 OpsCenter 5.2.1 的 "admin" 用户所在的行是以下哈希值:
8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
如果您将用户 table 的密码字段更新为该值,它 应该 将其重置为原始值:
UPDATE users
SET password='8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918'
WHERE username='admin';
我不知道不同版本的 OpsCenter 上的密码是否使用相同的哈希值,但如果您使用的是 OpsCenter 5.2.1,这应该有效。否则,如果您在那里有一个用户 知道密码,您可以(查找并)将管理员密码设置为 that哈希,然后至少你会知道密码并能够登录。
原来这很简单。我需要做的就是停止 OpsCenter,重命名(或删除)passwd.db,然后再次重新启动 OpsCenter。守护进程自动创建一个新的密码 db 文件并将管理员密码设置为 'admin'。
如何在 Datastax Opscenter 中重置管理员密码?在 /etc/opscenter/opscenterd.conf 中禁用和重新启用身份验证会成功吗?在此过程中我会丢失任何其他数据吗?
我不知道在 OpsCenter 中简单地重置管理员密码的官方方法。但是,我确实知道一种 "hacky" 方法来做到这一点,如果你愿意的话(如果你有物理或 ssh 访问服务器)。
OpsCenter 的用户身份验证在名为 passwd.db
的 SQLite 数据库文件中维护,该文件位于 OpsCenter 目录的根目录中。一旦您在 OpsCenter 中启用用户身份验证,就会创建该文件。使用sqlite3,你可以打开和管理这个文件:
$ sqlite3 passwd.db
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
sqlite> PRAGMA table_info(users);
0|id|INTEGER|0||1
1|username|TEXT|0||0
2|password|TEXT|0||0
3|groupid|INTEGER|0||0
sqlite> SELECT * FROM users;
1|admin|8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918|1
查看上方,您可以看到全新安装的 OpsCenter 5.2.1 的 "admin" 用户所在的行是以下哈希值:
8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
如果您将用户 table 的密码字段更新为该值,它 应该 将其重置为原始值:
UPDATE users
SET password='8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918'
WHERE username='admin';
我不知道不同版本的 OpsCenter 上的密码是否使用相同的哈希值,但如果您使用的是 OpsCenter 5.2.1,这应该有效。否则,如果您在那里有一个用户 知道密码,您可以(查找并)将管理员密码设置为 that哈希,然后至少你会知道密码并能够登录。
原来这很简单。我需要做的就是停止 OpsCenter,重命名(或删除)passwd.db,然后再次重新启动 OpsCenter。守护进程自动创建一个新的密码 db 文件并将管理员密码设置为 'admin'。