sudo:无法统计 /etc/sudoers:没有此文件或目录,sudo:未找到有效的 sudoers 源,退出

sudo:无法统计 /etc/sudoers:没有此文件或目录,sudo:未找到有效的 sudoers 源,退出

这是我每次运行时收到的错误消息sudo

ubuntu@tegra-ubuntu:/$ sudo apt-get update
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

现在我正尝试使用 SD 卡在 jetson tx1(nvidia 最新的开发板)上启动 ubuntu 14.04。我能够在没有 GUI 的情况下启动 Ubuntu。但是命令sudo严重损坏。

在 SD 卡上创建文件系统时,我曾经sudo这样做过。我找到了很多关于它的帖子,并验证了这一点

  1. 用户和组均有权限执行/etc/sudo:无法统计 /etc/sudoers:没有这样的文件或目录 - 文件存在

  2. 使用时pkexec visudo /etc/sudoers出现此错误:

    ** (process:1784): WARNING **:
    Error enumerating actions:  GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
    Error checking for authorization org.freedesktop.policykit.exec: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
    

    如何修改无效的“/etc/sudoers”文件?

  3. 由于我没有 GUI,因此无法访问 GRUB 菜单。按住 Shift 键不起作用...

答案1

为了解决这个问题,您可以重新安装sudo,或者下载默认设置/etc/sudoers并进行编辑。这两种方法都需要执行以下步骤:首先,重新启动计算机。当显示 Grub 屏幕时,不要选择,而是选择Ubuntu xxxAdvanced options for Ubuntu xxx在 下Advanced Options,选择Recovery mode。第二步是挂载分区rw。为此,请选择Clean packagesOk,然后当您再次看到恢复屏幕时,选择Root shell。从 root shell 启用 wifi。重新安装sudo

apt-get install --reinstall sudo

或者将其插入到/etc/sudoers

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults    env_reset

# Uncomment to allow members of group sudo to not need a password
%sudo ALL=NOPASSWD: ALL

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Members of the admin group may gain root privileges
# %admin ALL=(ALL) ALL

(从Sudoers Ubuntu 维基

重启之前,su返回到普通用户,然后尝试sudo apt-get upgradesudo。如果成功,则重启。否则,请使用错误消息进行注释。

答案2

由于您发布了此问题,因此您显然可以在另一台机器上访问互联网。您可以创建一个 Ubuntu Live CD,启动它,然后按照以下步骤进行修复。挂载安装的分区以在​​ ( , ...)sudo处重新创建文件系统。从/mntsudo mount /dev/<whatever> /mntmkdir -p /mnt/home && sudo mount /dev/<whatever2> /mnt/homeUbuntu 维基百科进入/mnt/etc/sudoers。重新启动系统sudo即可工作。

相关内容