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

use*_*220 2 ubuntu sudo chown

将我的所有者/usr/bin由原来root的普通人变成了一个大错误user。每当我尝试执行时,$sudo chown root /usr/bin都会给我:

chown: changing ownership of ‘/usr/bin/’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我已经阅读了许多有关此问题的主题,如果您已经拥有操作系统的备份映像,则其中的大多数主题都提供了解决方案。不幸的是我没有任何备份。除了从头开始重新安装Ubuntu之外,还有什么解决方案吗?

小智 9

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

图片1

图片1

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

图片2

图片2

选择root –拖放到root shell提示符,如图3所示。

图片3

图片3

现在文件系统是只读的,可以重新安装到读写以下命令

# mount -o remount,rw /
Run Code Online (Sandbox Code Playgroud)

安装–全部

然后需要更改sudo的所有权

# chown root:root /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)

给予须藤许可

# chmod 4755 /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)

完成了...让我们重启机器来看看

# shutdown -r now
Run Code Online (Sandbox Code Playgroud)

您现在应该把Sudo回来了。


Tho*_*asH 4

如果由于您不知道密码或未设置密码而无法使用简单的“su”获得root权限,那么您必须重新启动到root shell。当您看到 GRUB 启动菜单时,按“e”编辑内核命令行,并附加“init=/bin/sh”——然后它会将您转储到单用户 root shell,而不是正常的启动过程。这里你可能需要重新挂载根文件系统读/写:

# mount / -n -w -o remount
Run Code Online (Sandbox Code Playgroud)

然后你需要撤消之前的损坏:

# chown -R root /usr/bin
Run Code Online (Sandbox Code Playgroud)

然后最后以只读方式重新挂载文件系统,同步并重新启动:

# mount / -n -r -o remount
# sync
# reboot -f
Run Code Online (Sandbox Code Playgroud)