在安装新版本操作之前无法创建'./usr/bin/ssh'的备份链接

问题描述 投票:0回答:2

最近我的实验室 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

ubuntu openssh
2个回答
2
投票

我最近遇到了和你一样的问题。你之前的所有行为都是正确的。但在替换

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

2
投票

我也遇到这个问题了

通常,

/usr/bin/lsattr
文件应该是一个二进制可执行文件,但我发现它是空的(只有一行
#!/bin/sh
)。

这种情况,也许我们不应该通过从另一台计算机复制正确的

/usr/bin/lsattr
二进制文件来解决问题,但是我们应该意识到我们的计算机受到了攻击

文件

/usr/bin/lsattr
被替换,
./usr/sbin/sshd
可执行文件被修改,这意味着ssh不再安全!攻击者可以登录您的计算机并接管控制权。 任何私人信息都不再安全......

© www.soinside.com 2019 - 2024. All rights reserved.