sudo:/ var / lib / sudo / navneet可由非所有者写入(040777),应该是模式0700

每当我尝试使用sudo时都会发生此错误。 我将/var/文件夹的权限更改为777 ,我认为这会导致错误。 请帮我拿回function性的sudo/var

你有一个非常大的问题,但不是 出于这里所说的原因 。

更改所有/var的权限将使您很可能无法正确地将它们全部恢复,因为您不会知道每个文件应具有哪些权限 。 您以后可能会遇到问题。 根据具体情况,您的问题可能与安全相关。

因此,您可能希望考虑重新安装Ubuntu。 或者,您可以尝试从另一个类似的,不间断的系统中获取文件的权限 。 权限通常是相同的。 通常。 一个更严重的问题是,您的系统可能在/var中有一些文件在另一个文件中不存在,因此可能不会修复所有权限。

但是,在没有工作sudo的桌面系统上执行管理任务通常很容易。

当您知道它们应该是什么时更改权限很容易,并且很少需要启动到恢复模式或从Live CD。 这是因为,虽然它并不广为人知,但Ubuntu的桌面版本(以及目前大多数其他GNU / Linux操作系统)有两种设置方式来执行管理任务:

  • sudo ,这将无法工作,因为它需要/var的权限/var正确的。
  • PolicyKit ,它往往更容忍错误的权限,通常仍然有效。

虽然我们倾向于将sudo视为在Ubuntu上以root身份执行操作的方式,但实际上PolicyKit是大多数(尽管不是全部)图形实用程序成为root 。 (现在已经这么多年了。)

实际上,使用PolicyKit手动运行图形程序有时是一项重大任务,因为图形应用程序必须具有特殊的配置文件,以便PolicyKit愿意运行它们。 但终端应用程序没有 – 使用PolicyKit运行基于文本的命令与使用sudo一样容易。

为此,键入pkexec ,否则键入sudo 。 (它们没有采用所有相同的命令行选项,但sudo最常用的语法是sudo command ,而pkexec在其位置上运行完美。)

所以,因为sudo坏了,你不能运行:

 sudo chmod 0755 /mnt/var/lib/sudo sudo chmod 0700 /mnt/var/lib/sudo/ 

但你可以运行:

 pkexec chmod 0755 /mnt/var/lib/sudo pkexec chmod 0700 /mnt/var/lib/sudo/ 

这是一个好的开始,它可能会让sudo重新开始工作。 (但它不会修复/var所有其他文件 。)

pkexec有用的相关(但在大多数情况下,不完全相同)情况:
‣ 如何修改无效的/ etc / sudoers文件? 它抛出一个错误,它不允许我再次编辑来修复它
whilst在尝试更改ushare配置时意外阻止访问sudoers.d
更改’/ usr’目录的权限后,’sudo’无法正常工作
‣ 如何在“chmod -R 777 / usr / bin”之后修复sudo? sudo错误,是模式0777,应该是0440
如何修复“sudo:/ etc / sudoers是模式0640,应该是0440?”
‣ 安装ZFS改变了我的sudoers文件
‣ 密码不适用于sudo(“身份validation失败”)
‣ 随机更改某些文件权限后,为什么没有任何效果?
by使用“sudo chmod 665 / etc”改变oneiric(ubuntu11.10)中的/ etc权限现在不能使用sudo
‣ 如何在没有密码的情况下运行特定的sudo命令? (如果出现问题)
‣ 无法从Ubuntu live CD写入/ etc / sudoers (只是出现问题)

你手上有一个很大的问题。 首先,为了让你再次使用sudo ,你需要更改/var/lib/sudo文件夹及其中的文件navneet

但是,为了做到这一点,您将需要root访问权限。 如果您碰巧更改了root密码,那么您只需要su -并更改权限,如下所示:

 $ chmod 0755 /var/lib/sudo $ chmod 0700 /var/lib/sudo/navneet 

你很高兴。 但是,如果您没有更改root密码,则需要通过其他方式获取root访问权限。 在标准的Ubuntu安装上,您可以通过启动进入恢复模式来执行此操作。 这是通过在BIOS屏幕消失后重新启动并按下shift键来完成的。 建议反复点击,但要慢慢点击。 如果成功,GRUB菜单将出现,您可以选择第二个选项(标记为恢复模式)。 从下一个菜单中,您应该选择root shell。 这将带您进入根提示符。 在12.04,您将需要使硬盘驱动器可写以进行任何更改。 这个命令是mount -o,remount,rw / 。 需要多次尝试才能启动GRUB菜单。

或者您可以使用启动CD。我建议您使用Gentoo最小安装CD,因为它体积小并且可以完成工作,还有几个专业恢复CD可用。 如果您选择实时启动而不是安装,则标准安装CD通常会起作用。 例如,通过CD启动计算机,并将分区挂载到/mnt/mount /dev/sda1 /mnt )。 然后你可以改变这样的权限:

 chmod 0755 /mnt/var/lib/sudo chmod 0700 /mnt/var/lib/sudo/navneet 

最好使用它来备份您的数据,然后进行全新安装。 由于权限错误,其他应用程序可能会停止工作,并且可能会有其他后果影响计算机的安全性。

我有一个类似的错误,但仍然实际上能够使用sudo(它显示错误消息,它完成了我之后告诉它做的事情。),所以我修复它:

 sudo chmod -R 0700 /var/lib/sudo 

(我在运行Ubuntu 14.04)