为什么我随机更改了一些文件权限后什么都不起作用?

为什么我随机更改了一些文件权限后什么都不起作用?

好吧,昨晚我试图设置文件系统中某些文件夹的权限,因为我显然不是自己电脑的管理员。现在一切都乱了,我不知道该怎么办。

  • 我失去了互联网,图标不再显示在任务栏中。
  • 我失去了声音,当我进入声音菜单时没有列出声音设备。
  • 我无法再以 root 身份登录,它显示“sudo:必须是 setuid root”
  • 我无法再插入任何东西,它无法识别闪存驱动器或外部硬盘驱动器。
  • 每次登录时都会出现内部错误消息
  • 它不再让我在启动时登录 Grub 屏幕。

我做了什么?我这里有很多文件,我想把它们放在闪存驱动器上,但它无法识别。

答案1

听起来好像您改变了系统文件的所有权和/或权限。

您可以在 ~/.bash_history 中搜索您运行的命令,如果您将它们发布到这里,也许它们很容易被撤销。

gedit ~/.bash_history

查找诸如chown或 之类的命令chmod,如果使用 -R(递归)选项运行它们,则更容易重新安装。但是,如果您只更改了几个文件或目录,则可以恢复。

但通常您必须重新安装,因为手动修复权限既耗时又不完善。

未来见:ubuntu sudo 页面

通常,您使用sudo或用于图形应用程序gksu来执行系统管理或编辑系统文件。

例子:

gksu gedit /path/to/file
sudo command

答案2

听起来你通过更改重要系统文件的权限和/或所有权来破坏你的系统。根据你所做的具体操作,修复系统可能很容易,也可能很难。

鉴于你不确定到底做了什么导致了这种情况,我认为重新安装可能是最简单的选择。很有可能可以撤消按照您的操作并使系统恢复正常,但重新安装可能需要更少的时间才能恢复正常工作系统。

到目前为止,您提到的任何内容都没有表明您的个人文件已被删除/泄露,因此您应该能够通过启动 Ubuntu 桌面 CD/USB、挂载分区并将重要文件复制到另一个媒体(如 USB 记忆棒/硬盘或网络共享)来从硬盘中提取文件。

答案3

我们不一定知道你的系统出了什么问题,但我们知道有一件事是错误的:

sudo: must be setuid root

sudo是 Ubuntu 系统中执行管理任务的主要机制。其所有权和/或许可已损坏,因此无法工作。

幸运的是,在桌面 Ubuntu 系统上,还有另一种用于执行管理任务的机制:PolicyKit。因此,您通常可以sudo使用pkexecPolicyKit 的命令行前端,没有甚至必须启动到恢复模式或从实时 CD/DVD/USB 启动。sudo拥有错误的所有权/权限不是最常见的破损情况,但修复起来同样容易。只需打开终端窗口 ( Ctrl++ ) 并运行以下命令:AltT

pkexec chown root:root /usr/bin/sudo
pkexec chmod 4755 /usr/bin/sudo

运行这些命令应该可以修复权限sudo

这可能会也可能不会解决基本问题。您可以sudo通过运行类似这样的无害命令来查看它是否有效sudo ls。您应该在此处更新您的问题和/或评论,以提供有关您接下来看到的错误(如果有)的信息。

一旦您重新获得系统的完全访问权限,您应该执行以下两项操作之一:

  • 看看你的.bash_history找出您运行了哪些命令,然后更新您的问题,以便我们告诉您如何消除造成的任何其他损害。即使一切似乎都正常,您的系统可能仍处于不安全或不稳定的状态。

  • 或者,如果您无法做到这一点,请重新安装 Ubuntu。

最后,请注意:

  • 如果您实际上不是自己计算机的管理员,这个问题很容易解决。修复它不需要更改任何文件的权限。更改文件的权限并不能解决这个问题。

  • 如果您以您认为的方式破坏了您的系统(即,如果您可以更改所有权或权限)/usr/bin/sudo,那么您肯定已经是系统的管理员(除非您启动到恢复模式或从实时 CD/DVD/USB 执行此操作)。非管理员无法对 Ubuntu 系统进行此类更改。

  • 即使您是系统管理员,在尝试执行某些任务时,您也可能会收到“拒绝访问”等类似消息。这通常并不意味着您无法执行这些任务,而是您没有使用正确的技术来执行这些任务。特别是,管理员帐户仍然受到限制——您必须使用类似的东西sudo来执行大多数管理操作

答案4

看起来您失去了对 sudo 文件的权限。

重新启动计算机,选择恢复控制台并执行以下操作:

chown root:root /usr/bin/sudo

chmod 4755 /usr/bin/sudo

这应该可以解决你的 sudo 问题。

关于它的完整教程:http://www.psychocats.net/ubuntu/fixsudo#recoverymode

相关内容