如何使用bash脚本替换/ etc / shadow中的密码?

时间:2015-02-24 15:38:27

标签: linux bash shell

对于我的安全类,我们应该使用写得不好的文件复制程序来获得root shell。我们应该将我们的黑客写入脚本。我知道如何访问/ etc / shadow文件,但我不确定如何从bash脚本中搜索root密码并将其替换为无密码。我知道影子文件的格式,用户名:密码:等,但是在脚本中是否可以找到密码的位置并替换它?

我找到了命令sed,但这需要我知道旧密码是什么。是否有其他命令我可以使用之前获取密码?

注意:我正在使用/ etc / shadow的副本,然后我可以用

覆盖原始文件

2 个答案:

答案 0 :(得分:1)

这是你的根哈希

pass=`cat /etc/shadow | grep root| awk -F: '{print $2}'`

答案 1 :(得分:1)

为了避免解析和使用python / perl / awk / ....可能的解决方案是以这种方式使用usermod命令:

usermod -R /var/lib/lxc/mycontainer/rootfs -p `mkpasswd -m sha-512 lol` root

在上面的示例中,我指定了一个不同的chroot(-R),并使用 lol 作为密码。