Opennebula Sunston 用户 oneadmin 密码

Lei*_* Wu 2 linux opennebula

开放星云4.2.0

我不小心删除了文件/var/lib/one/.one/one_auth,所以我丢失了oneadmin用户密码。我怎样才能取回它或初始化 oneadmin 密码?

谢谢!

小智 5

如果丢失密码,您可以使用 oneadmin 组中的其他用户来更改丢失的密码:

    $ oneuser passwd --sha1 oneadmin 'newpassword'
Run Code Online (Sandbox Code Playgroud)

或者直接在数据库中修改密码:

  • 停止 OpenNebula 守护进程(这是需要的,因为某些数据被缓存)。
  • 连接数据库并获取用户主体oneadmin

    select body from user_pool where name='oneadmin';
    
    Run Code Online (Sandbox Code Playgroud)
  • 您将获得一个包含用户数据的 xml 文档。您必须更改的值是password. 确保密码使用 sha1 进行哈希处理。您可以使用以下命令来完成此操作:

    $ echo -n 'newpassword' | openssl sha1
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用编辑后的 ​​xml 更新表:

    update user_pool set body='<edited xml>' where name='oneadmin';
    
    Run Code Online (Sandbox Code Playgroud)

现在您可以更改您的凭据并再次启动 OpenNebula:

    $ echo "oneadmin:new_password" > ~/.one/one_auth
    $ one start
Run Code Online (Sandbox Code Playgroud)