Opennebula 4.2.0
我意外删除了文件 /var/lib/one/.one/one_auth,因此丢失了 oneadmin 用户密码。我该如何找回它或重置 oneadmin 密码?
谢谢!
答案1
如果密码丢失,您可以使用 oneadmin 组中的另一个用户来更改丢失的密码:
$ oneuser passwd --sha1 oneadmin 'newpassword'
或者直接在数据库中更改密码:
- 停止 OpenNebula 守护进程(这是必要的,因为一些数据被缓存了)。
连接数据库并获取
oneadmin
用户的主体:select body from user_pool where name='oneadmin';
您将获得一个包含用户数据的 xml 文档。您需要更改的值是
password
。确保密码使用 sha1 进行哈希处理。您可以使用以下命令执行此操作:$ echo -n 'newpassword' | openssl sha1
使用编辑后的 xml 更新表:
update user_pool set body='<edited xml>' where name='oneadmin';
现在您可以更改您的凭据并重新启动 OpenNebula:
$ echo "oneadmin:new_password" > ~/.one/one_auth
$ one start