记录一次更新vim导致的sudo误删及恢复

记录一次更新vim导致的sudo误删及恢复

IShirai_KurokoI

这几天在配数据中心的域名ssl和nginx,vim看nginx.conf总是错位,寻思是不是版本太旧了,然而数据中心的虚拟环境是CentOS7,依赖早就不更新了,去网上找了篇文章尝试更新。

行吧,那我就

sudo yum remove vim vim-filesystem vim-common vim-enhanced vim-minimal

然后

1
2
sudo rm -rf /usr/bin/vim
bash:/usr/bin/sudo No Such file or directory

嗯,不存在不用管。等等!我sudo呢???

查了半天发现yum卸载vim-minimal的时候会一起卸载sudo!

其实到这也许也不难恢复,只要su root然后重新安装sudo配置不就行了,但是,屋漏偏逢连夜雨,内部文档上记录的root密码是错的(实际上是当前用户密码),没root了!

如果是能接触到的物理机倒是能单用户,但是。。。数据中心的做不到了。

想了半天,跟朋友想起来机器上是装了docker的,这下有救了。

通过docker启动一个新容器,映射/etc/shadow进去,直接改密码

1
2
3
docker run -it --rm --name rescue \
-v /etc/shadow:/etc/shadow \
ubuntu /bin/bash

通过openssl passwd -1 “newpassword”重新生成hash并修改shadow文件,这下有root密码了,直接安装sudo恢复。

呼,还好有docker。

原理就是docker是以root权限运行的,当前用户还在docker组,所以能间接修改文件。

  • 标题: 记录一次更新vim导致的sudo误删及恢复
  • 作者: IShirai_KurokoI
  • 创建于 : 2024-05-17 13:18:00
  • 更新于 : 2024-05-17 13:26:29
  • 链接: https://ishiraikurokoi.top/2024-05-17-yum-remove-vim-minimal/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
记录一次更新vim导致的sudo误删及恢复