当危险的动作发生, 误删 /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命令的源地址在前,目的地址在后

误删 /user/bin目录后的补救的更多相关文章

  1. SVN安装后bin中没有svn.exe,TortoiseSVN安装后bin目录中没有svn.exe;

    TortoiseSVN的bin目录中没有svn.exe 为什么没有,是因为安装TortoiseSVN的时候没有勾选指定安装项:找到svn的安装包,不用卸载旧的直接安装: 1.选择Modify 2.注意 ...

  2. MacOS10.11的/usr/bin目录不可写后class-dump的处理办法

    许多升级了OSX 10.11的朋友在配置class-dump的时候,会发现书上推荐的class-dump存放目录/usr/bin不再可写,如下所示: 192:~ snakeninny$ touch c ...

  3. 误删除系列一:linux的bin目录误删除后恢复操作

    感言:一失足成千古恨,一不小心就把/usr/bin下所有的命令都删除了,当你以为自己很熟练时,当你以为自己操作对时,可能就是失手的时候,还好这次只是一个测试环境....God 恢复过程:(以下是在vs ...

  4. IDEA下的SVN设置以及TortoiseSVN安装后bin目录下没有svn.exe如何解决?

    1.首先,我们要确保电脑上已经安装了TortoiseSVN. 2.打开IDEA-File-Settings-Version Control-Subversion,在右边的界面上选择TortoiseSv ...

  5. Fedora 21 安装 Nvidia 驱动以及失败后的补救方法

    在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...

  6. Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】

    原文地址:http://blog.csdn.net/itwit/article/details/6803338 今天写程序的时候,需要更改.exe.config文件中的引用的webservice地址, ...

  7. 设置sudo不输入密码 sudoers 编辑出错后的补救方法

    一 设置sudo为不需要密码 有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替.默认新建的用户不在sudo组,需要编辑/etc/sudoers文件 ...

  8. vs2012中程序集生成无法自动在网站Bin目录下生成Dll文件?(已解决!)

    最近,突然发现生成程序集后,网站bin目录下dll没有更新,也没有自动生成dll文件,通过近半个小时的摸索和实验,找到了解决方法: 1.右键网站,不是项目,选择[属性页],在左侧[引用]中如果没有,就 ...

  9. /bin,/sbin,/usr/sbin,/usr/bin 目录

    这些目录都是存放命令的,首先区别下/sbin和/bin: 从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统,/bin下存放一些普通的基本 ...

随机推荐

  1. 如何修改全部DevExpress控件的字体

    引用:https://www.devexpress.com/Support/Center/Question/Details/A2761 You can change the default font ...

  2. Java中的自定义数组队列

    在Java中,作为所有数据结构中存储和获取速度最快的一种,数组凭借其这种简单易用的优势在各个方面都能大显神威.但是数组也有自身的局限性.数组的长度必须是固定的一旦定义之后就无法动态的更改,这就会造成这 ...

  3. angularjs1.6.4中使用ng-table出现data.slice is not a function的问题

    这个问题困扰了我2个小时. 项目中angularjs的版本从1.4.8升级到1.6.4,升级完成之后,发现ng-table不能用了.主要报错信息是ng-table中data.slice is not ...

  4. 嵌入式Linux引导过程之1.1——Xloader的xloader.lds

    本文中的所有代码版本都是基于ST的SpearPlus开发板的. xloader是在系统上电之后,执行完ROM中的frimware后最先开始执行的用户程序,它的体积很小,执行的功能也很简单,主要是对系统 ...

  5. apache配置,禁止ip访问web站点

    由于一台服务器上面部署了好几个应用,对应不同的域名,如果用户知道ip地址的话,直接用户ip地址访问,会显示第一个虚拟主机的页面(更改了虚拟主机的顺序,每次都是显示第一个).这样对用户造成不好的印象,所 ...

  6. JXL组件生成报表报错(二)

    JXL组件生成报表 1.具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonam ...

  7. [2015-06-10 20:53:50 - Android SDK] Error when loading the SDK:

    1.错误描述 [2015-06-10 20:53:50 - Android SDK] Error when loading the SDK: Error: Error parsing D:\Andro ...

  8. freemarker写select组件报错总结(七)

    1.错误描述 六月 26, 2014 11:26:27 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...

  9. Linux以百万兆字节显示内存大小

    Linux以百万兆字节显示内存大小 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ free --tera total used free shared buf ...

  10. lvy打包到本地

    图解