Ubuntu 更改“/usr/bin/”的所有权:不允许操作

Ubuntu 更改“/usr/bin/”的所有权:不允许操作,ubuntu,sudo,chown,Ubuntu,Sudo,Chown,我刚刚犯了一个巨大的错误,将我的/usr/bin的所有者从root用户更改为普通用户。每当我尝试执行$sudo chown root/usr/bin时,我会: chown: changing ownership of ‘/usr/bin/’: Operation not permitted 我读过很多关于这个问题的话题,其中大多数都提供了一个解决方案,以防您已经有了操作系统的备份映像。不幸的是,我没有任何备份。除了从头开始重新安装Ubuntu,还有其他解决方案吗。如果您无法使用普通su获得ro

我刚刚犯了一个巨大的错误,将我的/usr/bin的所有者从root用户更改为普通用户。每当我尝试执行$sudo chown root/usr/bin时,我会:

chown: changing ownership of ‘/usr/bin/’: Operation not permitted

我读过很多关于这个问题的话题,其中大多数都提供了一个解决方案,以防您已经有了操作系统的备份映像。不幸的是,我没有任何备份。除了从头开始重新安装Ubuntu,还有其他解决方案吗。

如果您无法使用普通su获得root用户,因为您不知道密码或没有设置密码,那么您必须重新启动到root shell中。当您看到GRUB启动菜单时,按e键编辑内核命令行,并附加init=/bin/sh-然后它会将您转储到单个用户根shell中,而不是正常的启动过程。在这里,您可能需要重新装载根文件系统读/写:

# mount / -n -w -o remount
然后,您需要修复之前的损坏:

# chown -R root /usr/bin
最后以只读方式重新安装文件系统,并进行同步和重新启动:

# mount / -n -r -o remount
# sync
# reboot -f

解决方案:-进入Ubuntu恢复控制台 启动计算机并在引导时按住SHIFT键。它将带您进入grub加载程序页面,如图-1所示

图1

选择并输入Ubuntu的高级选项,然后从中选择名为恢复模式的内核,如图2所示

图2

选择root–下拉到root shell提示符,如图–3所示

图3

现在,文件系统是只读的,以便在下面重新装载读写运行命令

# mount -o remount,rw /
挂载-全部 然后需要更改sudo的所有权

# chown root:root /usr/bin/sudo
给sudo许可证

# chmod 4755 /usr/bin/sudo
完成了…让我们重新启动机器看看

# shutdown -r now

你现在应该已经拿回你的Sudo了。…

你是不是反复更改了所有权?如果是这样,您很可能已经更改了sudo二进制文件的所有者,因此它无法再获得根权限。在这种情况下,您需要使用普通su来成为root用户,然后将其更改回来,这仅在root帐户具有您知道的密码时才有效。否则,您需要将系统重新引导到一个根shell中,例如,通过编辑引导命令行以包含init=/bin/sh并将其从该shell中更改回来。我在无意中通过按return:Plain su居住在/bin中添加了评论,这样它就不会受到您的更改的影响。如果你可以获得root,chown-R root/usr/bin应该可以修复大部分造成的损坏。非常感谢,我实际上已经尝试了su技巧,但它总是要求我提供一些在我的机器上安装操作系统时我第一次没有设置的密码,在这种情况下我应该怎么做?非常感谢@ThomasH提供了详细的解决方案。我会尝试一下并给你一个反馈。引导到单用户根shell的技巧在这段视频中展示:如果你在让它工作时遇到问题,它可能会很有帮助。祝你好运:非常感谢你对我的帮助,我真的很感谢你的帮助。我终于可以用这个有用的话题来解决这个问题了。太好了,如果你的问题解决了,记得接受答案!