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)