我是 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 访问权限。