go-client changepassword无法成功修改密码,报错密码无效

  • nebula 版本:v3.2.0

  • nebula go-client 版本: v3.4.0

  • 部署方式:使用operator部署

  • 安装方式: Docker

  • 问题的具体描述
    安装nebula 之后默认的god root用户密码是nebula。目前使用的时候需要修改默认密码,想法是通过官方提供的go-client在operator安装的时候修改默认密码。但是实际修改不成功,提示旧密码无效。单独使用go-client也无法修改成功。代码和报错信息如下:
    企业微信截图_16783530276299
    企业微信截图_16783542507258

请问 auth 打开了么?默认是关闭的,任何密码都能 auth 成功,文档里有这个配置

开启了,使用了nebula console能成功修改的。错误的密码登录不了。但是用go-client就会报错。报错如截图所示。 错误码-29.并且修改密码也不会成功。官方operator没有提供changepassword的接口。补充了我参照原有接口实现的代码截图。可以看下是否有问题?

1 个赞

@Aiee 咱们 mclient 的 changePassword 方法还在维护么?是不是有问题?

@delve 帮忙去 go client 提一个 issue?

在fix之前可以先用 gclient + query 修改哈

好的,gclient是python客户端吗?

抱歉,go client 里有 metaclient 也有 graphclient,我指的就是 go 的 graphclient 哈,你可以用它执行修改密码的 admin query。nebula-console 就是用的 go client 的 graphclient 其实。

指的是用graphclient使用alter来修改密码?

ALTER USER <user_name> WITH PASSWORD '<password>';

session id 是可以随便传吗?我使用graph client的execute也没有改成功



企业微信截图_16784147336840

内部现在没有在用了, 不建议用户直接用, 还是通过execute()做吧

1 个赞

帮忙看一下用法那里有问题?使用时没有报错,但是密码还是没有修改成功

直接调用 metaclient 的话,需要 md5 转一下。

	var p string
	m := md5.New()
	m.Write([]byte("nebula"))
	p = hex.EncodeToString(m.Sum(nil))

还是建议通过 graph 客户端来做改密码

1 个赞

这个代码里是不会报错了,但是实际上用console去连密码还是没有修改。

graph client 用示例的连接池的方式+query是可以成功修改密码的。想问一下这个必须要建立conn吗?我看里面调用的最终也是graphserviceclient的接口。但是我改了一下这样不能修改成功。我是直接封装了一下graphserviceclient的接口


企业微信截图_16784310239585

为什么要调用裸的接口,用我们封装的方法。

1 个赞

好的,我直接调用封装的方法。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。