误删 /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命令的源地址在前,目的地址在后
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端