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命令的源地址在前,目的地址在后

  • 相关阅读:
    枚举类型(C#)
    如何在Delphi中安装组件
    操作系统知识点总结
    Java内部类学习笔记
    计算机网络笔试面试常考考点
    电话号码分身问题
    最长下降/上升子序列问题
    LeetCode(162):Find Peak Element
    LeetCode(153):Find Minimum in Rotated Sorted Array
    LeetCode(75):Sort Colors
  • 原文地址:https://www.cnblogs.com/wokofo/p/8026981.html
Copyright © 2011-2022 走看看