nova 注入密码base64 加解密

比如我们要注入一个文件来修改root密码,其中文件内容为:

echo "#!/bin/bash\npassword root  <\nYzp@2016\nYzp@2016\nEOF" | base64
得到一个字符串
IyEvYmluL2Jhc2gNCiANCnBhc3N3ZCByb290IDw8RU9GDQpZenBAMjAxNQ0KWXpwQDIwMTUNCkVPRg

然后创建虚拟机时制定user-data 为该字符串

nova boot --user-data "IyEvYmluL2Jhc2gNCiANCnBhc3N3ZCByb290IDw8RU9GDQpZenBAMjAxNQ0KWXpwQDIwMTUNCkVPRg" --nic net-id=xxx --image xxx --flavor xxx xxx

通过查看mysql中nova数据库的instances表,我们可以看到这个字符串在user-data那一项,通过decode我们可以还原字符:

import base64
strg = "IyEvYmluL2Jhc2gNCiANCnBhc3N3ZCByb290IDw8RU9GDQpZenBAMjAxNQ0KWXpwQDIwMTUNCkVPRg"
base64.b64decode(strg + '=' * (-len(strg) % 4))
'#!/bin/bash\r\n \r\npasswd root <\r\nYzp@2016\r\nYzp@2016\r\nEOF'

你可能感兴趣的:(openstack,nova)