将我的所有者/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
选择并输入Ubuntu的“高级”选项,然后从那里选择名为恢复模式的内核,如图2所示。
图片2
选择root –拖放到root shell提示符,如图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回来了。
如果由于您不知道密码或未设置密码而无法使用简单的“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)
| 归档时间: |
|
| 查看次数: |
10836 次 |
| 最近记录: |