[Ubuntu/服务器使用] 关于unable to make backup link of `./usr/sbin/sshd‘ before installing new version: Oper

[Ubuntu/服务器使用] 关于 unable to make backup link of `./usr/sbin/sshd’ before installing new version: Operation not permitted

背景

为了给服务器安装docker,需要使用到curl命令,在安装curl命令的时候又提示有损坏的包(由于是问题解决后写的,具体的内容记不清楚了,大概是ssh相关的一个包),需要用apt-get -f install来修复。在修复的时候停在了这个错误上:

...
unable to make backup link of `./usr/sbin/sshd' before installing new version: Operation not permitted 

问题分析与定位

通过对stackoverflow相关问题的研究,发现这个老兄精准地将问题定位到了lsattr/chattr这两个命令有问题上。这里插一句lsattr和chattr两个命令分别是用来显示和改变文件的属性的,属性中包括可以使得文件不得改动的i或者让文件只能增加内容的a等等。我用该问题中同样的方法检查了服务器里的相关命令,发现服务器中的这两个命令好像也gg了。
顺着这个思路我发现博客中有人提到挖矿病毒可能会通过先用chattr命令使自己的文件不能被删除,再篡改该chattr命令的文件使其失效,达到保护自己的目的。恰巧,这个服务器之前中过挖矿病毒,那么下一步就是如何修复chattr命令,并修改相关文件(最开始报错的 `./usr/sbin/sshd’)的属性了。

chattr的修复

chattr的修复需要用到其源码,将源码复制,并在本地创建一个chattr.c文件将源码粘贴进去:

vim chattr.c

之后编译生成运行文件a.out并改名为chattr

cc chattr.c
mv a.out chattr

通过新编译好的chattr命令来修改该原本chattr的权限并替换到相应位置:

sudo ./chattr -ia /usr/bin/chattr
sudo mv ./chattr /usr/bin/chattr

此时chattr命令已经恢复正常,使用其修改该sshd的权限即可正常恢复损坏的包,并安装curl

chattr -ia /usr/sbin/sshd

Ps

docker的安装命令为

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

参考文献

Ubuntu – 无法正常安装卸载ssh以及chattr无反应的问题

猜你喜欢

转载自blog.csdn.net/weixin_41625823/article/details/122144465