zoukankan      html  css  js  c++  java
  • 误删 /user/bin目录后的补救

    当危险的动作发生, 误删 /user/bin目录后的补救

    以下是昨天晚上真实的误操作现场,模拟记录一下

    (这是测试环境,所以操作得很随意,有些执行动作很不规范)

    在上面编译一个软件Dboop,完事以后想把它做个软链到 /usr/bin

    sudo - su

    cd /usr/local/dboop/bin/

    cp  Dboop   dboop

    ln -s /usr/bin /usr/local/dboop/bin/dboop   (这句写错了)

    ln --help

    ln -s /usr/bin/ /usr/local/dboop/bin/dboop -f  (这句继续 错)

    ll  ( WHAT?怎么出来个这玩意,心想,操,ln又写反了啊!!!)

    rm -rf dboop

    ....

    然后瞬间一激灵,觉得不对,/usr/bin目录下的所有文件都凉了。

    啥也执行不了,yum wget  sudo ...全没了

    恢复过程从其他机器 scp拷贝 /user/bin/目录过来

    这里要注意的点:

    别动机器上的其他服务(我这台测试机上当时还跑着nginx,uwsgis,celry,redis,mysql.....等服务) 一直能正常服务

    别退出当前SHELL ,其他SHEELL登进来,会发现没有SUDO 了

    从其他机器SCP过来时,可能会提示没有SCP文件,需要变通一下

    拷过来的文件权限可能不对了

    重要的是sudo权限乱了。

    sudo -su 会报错:

    sudo:有效用户 ID 不是 0,sudo 属于 root 并设置了 setuid 位吗?

    这时候试了很多方法都不行,只能找系统部同事

    chmod u+s /usr/bin/sudo

    ln -s /usr/bin/sudo /usr/bin/sudoedit

    就可以了,误删/user/bin目录 已经修复了

    教训就是:

    ln命令的源地址在前,目的地址在后

    ln命令的源地址在前,目的地址在后

    ln命令的源地址在前,目的地址在后

  • 相关阅读:
    【有感】向香港雷锋学什么
    After NeuSoft’s Interview
    【SHELL学习】if语句
    《我是一只IT小小鸟》【1】
    MSDN微软社区 大连线下聚会 即将举行
    【毕业设计】修改用户信息
    SQL Connection
    EasyPR中文开源车牌识别系统 开发详解(1)
    EasyPR开发详解(2)车牌定位
    EasyPR开发详解(4)形态学操作、尺寸验证、旋转等操作
  • 原文地址:https://www.cnblogs.com/wokofo/p/8026981.html
Copyright © 2011-2022 走看看