如何解决 - sudo:/usr/lib/sudo/sudoers.so必须只能由所有者编写sudo:致命错误,无法加载插件

3
我正在尝试配置带有CGI(Python)的apache2。为此,我必须更改一些文件夹和文件的权限,但每次我尝试更改文件或文件夹的权限时,都会出现sudo致命错误。
例如:
1
j@ubuntu:/etc/apache2$ ls

apache2.conf envvars magic mods-enabled sites-available

conf.d httpd.conf mods-available ports.conf sites-enabled



j@ubuntu:/etc/apache2$ sudo chmod 777 httpd.conf

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

sudo: fatal error, unable to load plugins

抱歉,这段文本太短了,无法进行有效的翻译。请提供更多的上下文或文本。
j@ubuntu:/usr/lib/cgi-bin$ sudo /etc/init.d/apache2 restart

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

sudo: fatal error, unable to load plugins

...................................................................................

3

j@ubuntu:/usr/lib$ sudo chmod -R 777 /usr/lib/cgi-bin

(这是一段命令行代码,意为将/usr/lib/cgi-bin目录下的所有文件和子目录的权限全部设置为777。)
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner

sudo: fatal error, unable to load plugins

注意:

j@ubuntu:/etc/apache2$ ls -l /usr/lib/sudo/sudoers.so

-rwxrwxrwx 1 root root 177452 2012年1月31日 /usr/lib/sudo/sudoers.so

非常感谢您的帮助!

5个回答

4
如果您在主机上安装了docker,您可以利用其卷的权限漏洞来解决此问题。
运行 docker run -it -v /usr/lib/sudo:/tmp ubuntu:xenial 一旦进入容器,作为root用户,您可以:
- cd /tmp - 根据确切的问题,chown root sudoers.so 或者 chmod 644 sudoers.so 这不是一个非常干净的解决方案,但它可以解决问题。

在我执行了 sudo chmod -R 777 /usr/lib 命令之后,他帮助了我。 - IgorNikolaev

2

您需要登录到根Shell以解决此sudoers.so权限问题。如果您有根帐户登录,则直接登录到根Shell,否则搜索类似“如何引导到根Shell”或“降级到根Shell提示符”的内容。如果您使用Ubuntu,可以按照此链接进行操作https://askubuntu.com/questions/92556/how-do-i-boot-into-a-root-shell。 进入根Shell后,将文件/usr/lib/sudo/sudoers.so的权限更改为

#chmod 644 /usr/lib/sudo/sudoers.so

0

对于OSX,有diskutil命令来修复磁盘权限:

diskutil resetUserPermissions / `id -u`

这可能需要一些时间 :( ... 你可以先尝试打开脚本编辑器,创建新的脚本并执行:

do shell script "chown -R root /usr/local/libexec/sudo/sudoers.so" with administrator privileges

如果那不起作用,修复权限应该能解决问题。

-1
请尝试以root用户登录,并更改目录的文件权限为
chmod 700 /usr/lib/sudo/sudoers.so,然后您的问题就会得到解决。
这对我有用!

-1

试试这个:

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

1
建议尝试某些东西不应该出现在答案中,而应该在评论中提出。答案应该包含经过验证的代码,不需要确认。在添加内容时,请注意Stack Overflow的使命宣言 - Gert Arnold

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接