我得到了可怕的sudo: must be setuid root即使/usr/bin/sudo的可执行文件拥有所有权root:root和mode 4755( -rwsr-xr-x ),也sudo: must be setuid root错误。 /etc/sudoers是模式440.我的用户是在sudoers与所有适当的设置。 我已经清除并重新安装了该软件包,但无济于事。
我最初没有configuration这台机器。 它的维护已经下降到默认情况下。 这种行为是否可能与PAM进行交互?如果是这样,我该如何解决? 该机器正在运行Debian 2.6.26-2-686 SMP内核。 没有写入/var/log/auth.log失败,所以它在这之前救援。
更新:这里的sudoers(删除了很多多余的注释行),但我很确定这不是问题。
Defaults env_reset Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:\ /usr/bin:/sbin:/bin" # Host alias specification # User alias specification User_Alias SUDOERS=david Defaults:SUDOERS !lecture,!authenticate # User privilege specification root ALL=(ALL:ALL) ALL %sudo ALL=(ALL:ALL) ALL SUDOERS ALL=(ALL:ALL) ALL
是的,我知道这太松懈了。 当我得到它的工作,我会收紧它。 据我所知,它甚至从来没有读到这个文件的阶段,但是当sudo进程本身试图升级它的用户ID时就死掉了。 一个几乎相同的设置完美地工作在几台(> 10台)其他机器上,所以我认为它必须是一个外部configuration导致这个失败。
感谢MadHatter,我find了解决scheme。 文件系统已经被创build为一个很大的根分区(而不是我!),而/ usr,/ var,/ home等等就像子目录一样。 出于某种原因,它也被安装了,大概是在一个错误的安全尝试。 我正在把这个问题推广到一个答案,所以对于那些遭遇同样问题的人来说,这个问题会更容易显现 我应该检查挂载选项,但没有想到,因为这是一个非常愚蠢的情况遇到。