嘟嘟社区

[疑问] 使用脚本手动替换root密码


  1. cat /etc/shadow
  2. root:$y$j9T$oczlE….Hl9WE9Zg5tO:….
  3.      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  4. cat /mnt/etc/shadow
  5. root:*:
  6.      ^

复制代码

请教如何使用脚本把 /etc/shadow 中的 root 的密码,复制到 /mnt/etc/shadow 中的 root 的密码位置?

sed -e /root/d /mnt/etc/shadow > /tmp/shadow; grep root /etc/shadow > /mnt/etc/shadow; cat /tmp/shadow >> /mnt/etc/shadow
chmod 0400 /mnt/etc/shadow

whiler 发表于 2022-8-12 14:55
sed -e /root/d /mnt/etc/shadow > /tmp/shadow; grep root /etc/shadow > /mnt/etc/shadow; cat /tmp/shad …

感谢大佬!
我测试了一下,我的理解是
1. 先把 /mnt/etc/shadow 包含 root 的行删除掉,保存到 /tmp/shadow
2. 然后从 /etc/shadow 里面找包含 root 的行,写到 /mnt/etc/shadow
3. 最后把不包含 root 的文件 /tmp/shadow 的所有行追加到 /mnt/etc/shadow
这样基本上可以了。

只是把原来文件的root行的其他部分也给覆盖了,这个能不能解决呢?