更改“/usr”目录的权限后,“sudo”不起作用

更改“/usr”目录的权限后,“sudo”不起作用

最近我不得不更改文件夹的文件夹权限/usr。现在整个系统sudo都无法正常工作。如果我尝试使用此命令更新我的系统:

sudo apt-get update

我收到以下消息:

sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins

因此,我尝试通过以下命令以 root 身份打开 Nautilus 来更改文件夹权限

gksudo nautilus

但什么都没发生。Nautilus 没有打开。这是一个紧急情况,因为整个都sudo无法正常工作。当我尝试从 Google 搜索解决方案时,许多人建议重新安装。我不喜欢重新安装。那么还有其他解决方案吗?

答案1

Ubuntu 中实际上设置了两种用于执行管理任务的机制。sudo就是其中之一,它和它的图形前端(如gksugksudo) 将无法工作,直到您解决权限问题为止。

另一种机制是PolicyKit。根据您对文件权限所做的具体操作,您可能仍然可以使用 PolicyKit 以 身份运行命令来进行恢复root

pkexec命令将以 的形式运行任何(非图形)命令root(前提是调用它的用户是系统管理员)。也pkexec能够以 的形式运行图形命令(如nautilusroot,但这并非易事,因为您必须为它们设置配置文件,描述它们应该如何运行以及应该允许它们做什么。 因此,最好使用命令行来解决这个问题……至少要让它sudo再次起作用。 (然后您可以运行gksu nautilus以获取root文件浏览器,如果您更喜欢使用它来递归编辑文件权限。)

我不知道您对权限做了什么,所以我很难给您一个特定的pkexec命令来运行,以解决问题。但您可以纠正sudo当前投诉的具体问题。它说:

sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner

因此删除group并写入该文件的other权限(但不修改写入权限):owner

pkexec chmod go-w /usr/lib/sudo/sudoers.so

然后您可以看看是否sudo有效(通过运行一些无害的命令,例如sudo ls)。

如果您需要使用 命令行对文件权限执行其他操作chmod,请参阅man chmod

(顺便一提,这是另一个相关的情况,了解一下会很有帮助pkexec

pkexec如果您在工作中遇到困难,请随时在此处发表评论,我会尽力提供进一步的帮助。但是您应该知道,即使此方法不起作用,您也不必重新安装 Ubuntu。

相反,您可以从 Ubuntu 实时 CD/DVD 或实时 USB 系统解决问题,因为实时系统将运行 -sudo将在其上运行 - 并且您可以挂载您的 Ubuntu 分区并以此方式更改权限。

或者作为第三种选择(作为森林皮斯基建议,你可以使用恢复模式

答案2

我将尝试启动到恢复模式并将权限恢复到原来的状态。

重新启动 - 从菜单中选择第二项以进入恢复模式。

最近我不得不更改 /usr 文件夹的文件夹权限

什么要求您更改整个 /usr 文件夹的权限?

答案3

安装用户和组使用
管理群组
并将你添加到sudo群组

相关内容