更改’/ 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
就是其中之一,它和它的图形前端(比如gksu
和gksudo
)在修复权限问题之前不会起作用。
另一种机制是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
因此,删除该文件的group
和other
写权限(同时不修改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
组