更改’/ 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 

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

实际上在Ubuntu中设置了两种用于执行管理任务的机制。 sudo就是其中之一,它和它的图形前端(比如gksugksudo )在修复权限问题之前不会起作用。

另一种机制是PolicyKit 。 根据您对文件权限的确切操作,您可能仍然可以使用PolicyKit以root身份运行命令。

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

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

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

因此,删除该文件的groupother写权限(同时不修改owner写权限):

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

然后你可以看看sudo有效(通过运行一些像sudo ls这样无害的命令)。

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

(顺便说一下, 这是另一个相关的情况,它可以很方便地了解pkexec 。)

如果您无法让pkexec为此工作,请随时在此处发表评论,我将尝试提供进一步的帮助。 但是你应该知道,即使这种方法不起作用,你也不必重新安装Ubuntu。

相反,您可以从Ubuntu live CD / DVD或实时USB系统解决问题,因为实时系统将正常运行 – sudo将在其上工作 – 您可以安装Ubuntu分区并以这种方式更改权限。

或者作为第三个选项 (如forestpiskie 建议的那样 ) ,您可以使用恢复模式 。

我会尝试启动进入恢复模式并将权限设置回原来的状态。

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

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

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

使用此安装用户和组
转到管理组
并将您添加到sudo