sudo-ing后出现错误:“ sudo:必须为setuid root”


10

在同事的计算机上,每次我使用sudo命令时,都会出现此错误:

sudo: must be setuid root

我尝试了互联网上提到的各种操作,例如将权限从实时CD更改为4755,但即使是从实时CD更改此命令,也是如此

sudo chmod 4755 /media/device/usr/bin/sudo

给出相同的错误。

编辑:同事告诉我他执行了此命令,上帝知道为什么:/

sudo chmod -R 777 /还是sudo chmod -R 777他不确定。


您可以发布的输出ls -l /usr/bin/sudo吗?
karthick87

我现在不能发布它,我更改了权限,但这是rwxrwxrwx root:root 2 sudo
theTuxRacer 2011年

Answers:


14
  • 重新启动计算机,选择恢复控制台,然后键入以下命令

    chown root:root /usr/bin/sudo

    chmod 4755 /usr/bin/sudo

  • 重新启动机器。

  • 也可以看看此链接来修复损坏的sudo。



2
如果可以的话,我可以通过以root用户身份登录而无需恢复控制台来完成此操作。
jocull 2014年

9

执行后,sudo chmod -R 777 /我建议立即从头开始重新安装整个系统。该命令打开太多的安全漏洞,因为任何与系统上的每个文件成为可读(可写!)任何用户-包括/etc/shadow/etc/hosts甚至/usr/bin/sudo/bin/ls自己!您的系统可能看起来像漏勺-使用它的每一分钟都意味着灾难性的风险和损失,尤其是在连接到Internet时。固定的权限sudo根本不起作用。

还考虑这个问题


是的,我也无法安装USB驱动器。
theTuxRacer 2011年

0

一旦你确定的权限sudo,然后使用sudo沿着用同样的方法递归修复权限(同样-R适用于首位搞砸了整个系统的参数,只在两个chownAND chmod命令)上/etc/boot/sbin/bin/dev/proc/sys,和/usr。这样至少可以减轻安全问题,直到系统可用为止。

再说一次,如果攻击者获得对您系统的控制权,则完全重新安装会更容易(如果在固定这些许可权的情况下完全连接到Internet,攻击者将获得控制权),因为要收回该控制权非常困难除此以外。


“(他们将会...”如果我在防火墙后面,怎么会发生这种事情?您是在夸大问题,还是仅是简单地控制chmod 777的系统真的很容易吗?
Scott

0

将文件系统的所有权限还原为开箱即用的安装状态要重得多,重新格式化分区并重新安装系统比尝试撤消a目录更安全,更快捷。

sudo chmod -R 777 /

命令。拥有777(rwxrwxrwx)权限的系统只是被绝望地破坏了。任何攻击允许通过浏览器执行任意代码的安全漏洞的恶意软件都可以修改root拥有的脚本和可执行文件,而setuid之类的sudo如果正在检查可执行文件的权限就无法使用...

换句话说,在具有世界可写777权限的系统上,浏览器缓存的处理方式与内核映像相同。废话

实际上,sudo正在检查其自身的权限,它们应该是4755(rwsr-xr-x),但是您的朋友将权限重置为0777(rwxrwxrwx),这会阻止sudo运行,因为它会在启动您的指定名称之前进行一些安全检查命令。

但是,无论如何,sudo是毫无意义的,因为您已经对计算机上的任何程序(包括浏览器缓存中可能的恶意软件)赋予了世界可执行的权限!

格式化并重新安装是最安全的方法,因为应该隔离整个驱动器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.