最近我的实验室 ubuntu 服务器遇到了一个棘手的问题。我想重新安装我的 openssh 服务器,所以我运行命令
sudo apt-get install openssh-client
sudo apt-get install openssh-server
但是命令失败并有反馈
Unpacking replacement openssh-server ...
dpkg: error processing /var/cache/apt/archives/openssh-server_1%3a7.6p1-4ubuntu0.3_amd64.deb (--unpack):
unable to make backup link of `./usr/sbin/sshd' before installing new version: Operation not permitted
根据一个可行的解决方案,我应该使用
/usr/bin/ssh
和 /usr/sbin/sshd
命令检查我的 chattr
和 lsattr
的属性。但当我跑步时
sudo lsattr /usr/bin/ssh
sudo chattr /usr/bin/ssh
我没有看到任何输出。看来我的
lsattr
/chattr
命令是错误的,因为我检查了 lsattr
和 chattr
的大小,它们在我的其他 ubuntu 服务器中是 10576 b 和 10592 b。但在这个服务器中,它们只有 10 b。如果我使用 less -SN lsattr/chattr
,它们都会显示:
#!/bin/sh
/usr/bin/chattr (END)
#!/bin/sh
/usr/bin/lsattr (END)
如果我想用我从另一台服务器复制的内容替换(用root)那些
chattr
和lsattr
,它会显示Operation not permitted
。
所以任何人都可以帮助我解决这个 openssh 问题或重新安装
chattr
/lsattr
?
我最近遇到了和你一样的问题。你之前的所有行为都是正确的。但在替换
lsattr
和 chattr
之前,需要使用复制的 /usr/bin/lsattr
修改 /usr/bin/chattr
和 chattr
的属性。
sudo ./chattr -a -i /usr/bin/chattr
sudo ./chattr -a -i /usr/bin/lsattr
然后就可以进行替换操作,并且可以修改
/usr/sbin/sshd
的属性了。
sudo mv ./lsattr /usr/bin/lsattr
sudo mv ./chattr /usr/bin/chattr
sudo chattr -a -i /usr/sbin/sshd
然后你可以尝试安装
openssh
。ai
属性添加到替换的 lsattr
和 chattr
。
sudo chattr +a +i /usr/bin/chattr
sudo chattr +a +i /usr/bin/lsattr
我也遇到这个问题了
通常,
/usr/bin/lsattr
文件应该是一个二进制可执行文件,但我发现它是空的(只有一行#!/bin/sh
)。
这种情况,也许我们不应该通过从另一台计算机复制正确的
/usr/bin/lsattr
二进制文件来解决问题,但是我们应该意识到我们的计算机受到了攻击!
文件
/usr/bin/lsattr
被替换,./usr/sbin/sshd
可执行文件被修改,这意味着ssh不再安全!攻击者可以登录您的计算机并接管控制权。 任何私人信息都不再安全......