chmodding /var/www 时出现“未找到有效的 sudoers 源,退出”错误

chmodding /var/www 时出现“未找到有效的 sudoers 源,退出”错误

我是 Ubuntu 新手,刚刚安装了 LAMP。我试图将文件粘贴到/var/www/目录中,以便测试我的 PHP 项目,但我做不到。

我在网上搜索过,看到的都是:“类型sudo chmod 077 /var/www/”或类似的东西,但我的机器返回的是这个:

sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting

我究竟做错了什么?

答案1

您的问题似乎比较严重。请尝试以下操作:

  • 重启你的电脑

  • 启动到恢复模式(从启动屏幕中选择“恢复”选项。如果您是单启动 Ubuntu,则需要按住 键Shift才能进入 GRUB 菜单)

  • 在出现的提示符下,选择“Drop to root shell prompt”

    在此处输入图片描述

  • 在命令提示符下(应该说root@your-computer:~#,输入:

      chmod 0440 /etc/sudoers
    
  • 然后重新启动你的机器

      shutdown -r now
    

现在,您应该可以sudo再次使用了。看来您之前尝试过一些错误的命令。


笔记:

使用时请务必注意,您清楚自己在做什么sudo

另请注意:

运行sudo chmod 077 /var/www/绝对不是您想要做的。如果您想设置权限/var/www,建议创建一个对该目录具有写访问权限的新用户组。

sudo addgroup www-users
sudo adduser <your-username> www-users

替换<your-username>为你的真实用户名。这将添加一个新组www-users并将你添加到其中。

然后,将 Web 服务器用户添加到其中:

sudo adduser www-data www-users

并赋予正确的权限:

sudo chgrp www-users /var/www
sudo chmod –R 775 /var/www
sudo chmod g+s /var/www

答案2

如果你有 root 密码,请输入su -c chmod 0440 /etc/sudoers。这应该可以解决你的问题。

这个问题很可能是由于有人将你的 /etc/sudoers 文件的权限值更改为 0777,这使得每个人都可以写入该文件,这是一个重大的安全风险。因此 sudo 会拒绝你的访问,因为任何人都可以获得 sudo 访问权限。

相关内容