在同事的计算机上,每次我使用 sudo 命令时,都会收到此错误:
sudo: must be setuid root
我尝试了互联网上提到的各种事情,比如将权限从 live cd 更改为 4755,但即使是 live-cd 的这个命令
sudo chmod 4755 /media/device/usr/bin/sudo
给出同样的错误。
编辑:同事告诉我他执行了这个命令,天知道为什么:/
sudo chmod -R 777 /
或者sudo chmod -R 777
他不确定。
在同事的计算机上,每次我使用 sudo 命令时,都会收到此错误:
sudo: must be setuid root
我尝试了互联网上提到的各种事情,比如将权限从 live cd 更改为 4755,但即使是 live-cd 的这个命令
sudo chmod 4755 /media/device/usr/bin/sudo
给出同样的错误。
编辑:同事告诉我他执行了这个命令,天知道为什么:/
sudo chmod -R 777 /
或者sudo chmod -R 777
他不确定。
重新启动计算机,选择恢复控制台并键入以下命令
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
重新启动机器。
另请查看此链接以修复损坏的 sudo。
执行后
sudo chmod -R 777 /
,我建议紧急从头开始重新安装整个系统。该命令打开了太多的安全漏洞,因为系统上的任何文件都变得可读(和可写!)任何用户 - 包括/etc/shadow
,/etc/hosts
,甚至/usr/bin/sudo
他们/bin/ls
自己!您的系统可能看起来像一个滤锅 - 使用它的每一分钟都意味着灾难性的风险和损失,尤其是在连接到 Internet 时。并且固定权限sudo
根本不会做任何事情。还要考虑这个问题。
将文件系统的所有权限恢复到开箱即用的安装状态同样繁重,重新格式化分区和重新安装系统比尝试撤消一个更安全和更快
命令。具有 777 (rwxrwxrwx) 权限的系统被彻底破坏了。任何攻击允许通过浏览器执行任意代码的安全漏洞的恶意软件都可以修改 root 拥有的脚本和可执行文件,而 setuid 之类的 sudo 如果他们正在检查可执行文件的权限,则将无法工作......
换句话说,在具有全局可写 777 权限的系统上,浏览器缓存的处理方式与内核映像相同。简直是胡说八道。
事实上,sudo 正在检查自己的权限,它们应该是 4755 (rwsr-xr-x),但是您的朋友已将权限重置为 0777 (rwxrwxrwx),这会阻止 sudo 运行,因为它会在启动您指定的之前运行一些安全检查命令。
但是,无论如何,sudo 毫无意义,因为您已经为计算机上的任何程序授予了全球可执行权限,包括浏览器缓存中可能存在的恶意软件!
格式化并重新安装是最安全的方法,因为您的整个驱动器都应该被隔离。
一旦您修复了 的权限,
sudo
然后使用sudo
相同的方法递归地-R
修复, , , , , ,chown
和. 这应该至少将安全问题缓解到系统可用的程度。chmod
/etc
/boot
/sbin
/bin
/dev
/proc
/sys
/usr
再说一次,如果攻击者获得了对您系统的控制权(如果您在修复这些权限时完全连接到 Internet,他们会更容易),因为要收回该控制权将非常困难否则。