我正在尝试使用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
............................................... ....................................
2
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
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
任何帮助都将受到高度赞赏!
答案 0 :(得分:3)
如果您的主机上安装了docker,则可以利用其在卷上的权限漏洞来解决此问题。
运行
docker run -it -v /usr/lib/sudo:/tmp ubuntu:xenial
在容器中,一旦成为容器的根用户,您就可以:
cd /tmp
chown root sudoers.so
或chmod 644 sudoers.so
,具体取决于具体问题这不是一个很干净的解决方案,但可以解决问题。
答案 1 :(得分:0)
您必须登录root shell才能解决此sudoers.so权限问题。如果您有root帐户登录,请直接登录root shell,否则搜索"如何启动到root shell"或"删除root shell提示符"。如果您使用Ubuntu,则可以点击此链接https://askubuntu.com/questions/92556/how-do-i-boot-into-a-root-shell。 进入root shell后,将文件/usr/lib/sudo/sudoers.so的权限更改为
#chmod 644 /usr/lib/sudo/sudoers.so
答案 2 :(得分:0)
我认为你不必做上述程序......
解决方案1:
你可以简单地做
pkexec chmod go-w /usr/lib/sudo/sudoers.so
现在就尝试疯狂的事情......
sudo ls
解决方案2:
如果pkexec失败,
按照上面的程序,由pranab提出,但如果它说,
不能以只读模式或类似的方式写入。
试试这个,
$ mount -o remount,rw /
$ chmod 644 /usr/lib/sudo/sudoers.so
你们都准备好了!
答案 3 :(得分:0)
请尝试以root用户身份登录,并将目录的文件权限更改为
chmod 700 /usr/lib/sudo/sudoers.so,它将解决您的问题。
对我有用!
答案 4 :(得分:0)
对于OSX,有diskutil命令来修复磁盘权限:
diskutil resetUserPermissions / `id -u`
这需要一段时间:( ... ...您可能首先尝试打开脚本编辑器,创建新脚本并执行:
do shell script "chown -R root /usr/local/libexec/sudo/sudoers.so" with administrator privileges
如果这不起作用,则维修权限应该可以解决问题。