已更改根/文件所有权,有任何方法可以恢复吗?

已更改根/文件所有权,有任何方法可以恢复吗?

我输入了一个错误, chown -R username /*没有./*以 root 身份运行,结果把一切都搞乱了。

现在,无法以 root 身份登录并改回所有权。有没有无需全新安装即可修复的方法?

我也可以以用户身份登录,并且没有改变拥有组。

sudo 的输出

sudo: /etc/sudoers is owned by uid 1000, should be 0
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

答案1

现在“拥有”所有文件的用户应该能够访问/etc/shadow,其中包含所有用户及其设置,包括密码哈希。编辑/etc/shadow(例如nano /etc/shadow)。您将得到类似以下内容:

username:passwordhash:...

复制您的密码哈希(第二个参数,以类似的内容开头,$6$...以替换密码哈希root,保存文件并重新启动。

您现在可以以 root 身份登录并sudoers使用以下命令修复文件:

chmod 440 /etc/sudoers
chown root:root /etc/sudoers

sudo现在应该可以再次工作了(重启后)。除非这是相当新的安装,否则仍然会有很多其他问题需要处理 - 但至少你现在有 sudo 了。

(谢谢,@Arjan,@Nikita Kipriyanov)。

如果这不起作用:

https://www.linuxquestions.org/questions/linux-newbie-8/sudo-etc-sudoers-is-owned-by-uid-1000-should-be-0-a-4175503030/

基本上,你陷入困境了...因此,以下是你可能想要做的事情(请注意,我是凭记忆输入这段文字的 - 并使用谷歌搜索以确保其正确无误,但有时可能会失败):

1)重新启动计算机..

2)在 GRUB 菜单上,按 e 进入编辑模式

3)使用箭头键导航到以“linux”开头的行,然后在该行上按 e

4)转到行尾并添加以下内容:代码:

rw init=/bin/bash

5)按 ENTER 和 b(或类似键)以此设置启动计算机... 6)计算机启动到终端后,使用以下命令:代码:

chmod 440 /etc/sudoers
chown root:root /etc/sudoers
passwd root
shutdown -r now

passwd 命令会要求您输入 root 密码(以防再次发生类似情况)最后一个命令会重新启动您的计算机。此后,您应该能够再次重用以 sudo 开头的命令。

相关内容