如何在不改变源代码的情况下重置默认的Cassandra凭据?
我已经查看了类似问题,例如如何重置丢失的Cassandra管理员用户密码?。 我有一个Datastax Cassandra 2.0.8的三节点集群,并尝试实现身份验证。 我已经在所有节点上设置了cassandra.yaml并重新启动了它们。 问题是我仍然无法登录到cqlsh。
我还尝试在cqlsh中重置cassandra用户的密码(我已禁用了身份验证):
我遇到了一个异常,提示用户不存在,但是我没有权限创建一个新用户。
我已经查看了类似问题,例如如何重置丢失的Cassandra管理员用户密码?。 我有一个Datastax Cassandra 2.0.8的三节点集群,并尝试实现身份验证。 我已经在所有节点上设置了cassandra.yaml并重新启动了它们。 问题是我仍然无法登录到cqlsh。
我还尝试在cqlsh中重置cassandra用户的密码(我已禁用了身份验证):
update system_auth.credentials set salted_hash='$2a$10$vbfmLdkQdUz3Rmw.fF7Ygu6GuphqHndpJKTvElqAciUJ4SZ3pwquu' where username='cassandra';
日志中包含有关创建cassandra超级用户的信息。我已经检查了keyspace system_auth,其中包括凭据、权限和用户。而credentials列族确实包含了用户cassandra:
cqlsh> use system_auth;
cqlsh:system_auth> select * from credentials;
username | options | salted_hash
-----------+---------+---------------------------------------------------------- ----
cassandra | null | $2a$10$vbfmLdkQdUz3Rmw.fF7Ygu6GuphqHndpJKTvElqAciUJ4SZ3pw quu
(1 rows)
但是,当我尝试时:
./cqlsh -u cassandra -p cassandra
我遇到了一个异常,提示用户不存在,但是我没有权限创建一个新用户。
cql.cassandra.ttypes.AuthenticationException: AuthenticationException(why="User cassandra doesn't exist - create it with CREATE USER query first")