当危险的动作发生, 误删 /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. Flask下载文件

    前言 由于最近在做文件管理模块的功能,所以难免会遇到文件上传下载这块的功能.不过文件上传那块是调用的OSS api,所以接触的不多. 文件的下载: 1. 接口返回真实的文件 这种情况比较简单, fla ...

  2. bootstrap模态对话框

    bootstrap模态对话框 前提是引入bootstrap的css和js的东西 data-backdrop="static"代表的是点击旁边的内容,不进行关闭操作,但是esc的时候 ...

  3. 【java学习笔记】Properties

    Properties:可以持久化的映射,规定键和值的类型是String. Properties对象必须放到.properties文件中,其中properties文件默认为西欧编码,也因此不存储中文. ...

  4. 不使用spring的情况下用java原生代码操作mongodb数据库的两种方式

    由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常.   主要原因实际上是和mongodb本身无关的,因为他们改的是配置 ...

  5. R语言︱缺失值处理

    #缺失值 an=c(1,2,NA) is.na(an) #会形成一个布尔向量 布尔向量就是一群像(FALSE,FALSE,TURE)这样的向量. 关于缺失值还有一个函数:complete.cases函 ...

  6. The struts dispatcher cannot be found

    1.错误描述 严重:Servlet.service() for servlet jsp threw exception The struts dispatcher cannot be found.Th ...

  7. linq查询集合并分页展示数据

    private void Bind() { if (Request.QueryString["QuestionNo"] != null) { string QuestionNo = ...

  8. C# 文件copy和文件删除

    C# 文件copy和文件删除 public bool CopyFile(string SourcePath, string CopyPathFoder) { bool bfg = false; if ...

  9. 为你揭露2018微信公开课pro的12个重点

    为你揭露2018微信公开课pro的12个重点 1月15日,微信公开课Pro版现场,微信又为我们带来了一些重磅消息,小程序依旧是本次微信公开课Pro的绝对重点.小编为大家整理了公开课的12个重点,带大家 ...

  10. SpringMVC 框架系列之组件概述与配置详解

    在上一篇文章 SpringMVC 框架系列之初识与入门实例 的实例中,我们已经知道,SpringMVC 框架是一个 web 层的框架,本篇文章就详细解释一下 SpringMVC 框架具体文件的配置以及 ...