如何重置Datastax Opscenter的管理员密码?

时间:2016-04-30 15:36:44

标签: cassandra opscenter

如何在Datastax Opscenter中重置管理员密码?是否会在/etc/opscenter/opscenterd.conf中禁用和重新启用身份验证?我会在此过程中丢失任何其他数据吗?

2 个答案:

答案 0 :(得分:1)

我不知道在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

如果您将users表上的密码字段更新为该值,则将其重置为原始值:

UPDATE users
SET password='8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918'
WHERE username='admin';

我不知道不同版本的OpsCenter上的密码是否使用相同的哈希,但是如果你使用的是OpsCenter 5.2.1,这应该可行。否则,如果您有 知道密码的用户,您可以(查找并)将管理员密码设置为 哈希,然后至少你会知道密码并且能够登录。

答案 1 :(得分:1)

事实证明这很简单。我需要做的就是停止OpsCenter,重命名(或删除)passwd.db,然后重新启动OpsCenter。守护程序自动创建新密码db文件,并将管理员密码设置为“管理员”。