删除后可以重新安装sudo吗?

这似乎是一个鸡蛋问题。 使用sudo最常见的任务是安装和删除软件。

 sudo apt-get purge  

但是sudo本身可以删除。

 sudo apt-get purge sudo # Do not run this command on production computers! 

这就是有趣的地方

 ubuntu@ubuntu:~$ sudo bash: /usr/bin/sudo: No such file or directory 

虽然很明显,没有一个正确思想的人会清除sudo (除了我)之外, 有人可能会被愚弄去运行这个命令(不是直接,以hex模式,或者其他任何方式),或者一个人可以伪装成技术SSH大师,做一团糟

那么有没有办法重新安装sudo?

我可以用以下方法安装应用

 pkexec apt-get install  

来自man pkexec

  pkexec allows an authorized user to execute PROGRAM as another user. If username is not specified, then the program will be executed as the administrative super user, root. 

所以,我认为pkexec apt-get install sudo应该也能正常工作。


编辑 :现在我可以确认: 是的 ,可以使用pkexec apt-get install sudo

重新安装sudo

( 点击放大 )

您始终可以启动进入恢复模式 ,转到root shell并在没有sudo的情况下安装它。

是的,可以通过chroot方法重新安装sudo包。

  • 首先从Ubuntu live disk启动。

  • 将以前安装的Ubuntu分区挂载到您想要的任何目录中。在我的例子中,我将它安装在/media/ubuntu

     sudo mkdir /media/ubuntu sudo mount /dev/sdaX /media/ubuntu # /dev/sdaX - previously installed Ubuntu partition. 
  • 在默认情况下,您无法在chrooted进入分区后获得Internet连接。因此,请运行以下命令使其正常工作。

     for d in dev sys run proc; do sudo mount --bind /$d /media/ubuntu/$d ; done 

感谢@Oli为这段精彩的代码。

  • 现在chroot到该安装目录,

     $ sudo chroot /media/ubuntu # apt-get update 
  • 通过运行安装sudo包,

     # apt-get install sudo 
  • 现在退出chrooted环境。

     exit 
  • 最后启动你的Ubuntu OS.Now测试你的sudo命令,它肯定会起作用。

在内核命令行上使用额外参数init=/bin/sh进行引导。 这将把你直接放到root shell中,你可以从那里简单地运行apt-get install sudo然后重启。 您可能需要先运行/etc/init.d/networking start以获得有效的网络连接。 如果你问我的话,比使用恢复CD或实时磁盘更简单。

如果您已通过此命令sudo passwd root设置或更新root用户帐户密码,那么您不必担心清除sudo 。只需登录到root帐户然后安装sudo

 su apt-get install sudo 

在此处输入图像描述

点击这里放大

sudo(以及任何其他root权限)仅适用于正在运行的操作系统。 如果你已经愚蠢并删除了sudo(或/ usr /就此而言)并且没有像pkexec这样的替代品,你可以简单地从别的东西启动,复制丢失的软件,然后重新启动。

物理访问可以取消系统可能具有的任何和所有软件安全性。

这个问题似乎非常特定于ubuntu。 作为非ubuntu用户,我起初甚至都不理解为什么sudo会以任何方式成为特例(很多发行版默认不安装)。

你根本不需要sudo。 它只是一个懒惰的快捷方式,允许您执行root命令而不实际以root身份登录。 但是,如果你不得不做一个以上的命令,那就是用sudo为所有内容添加前缀是非常糟糕的。 更不用说使用sudo让用户无视权限和root帐户的工作方式。 以root身份登录,执行系统管理和注销更有意义。 如果您已经以普通用户身份登录,则使用su 。 或者您可以直接以root身份登录。

当然你需要设置root密码,这是合理的配置,否则你有一个类似Windows的系统,其中有没有人可以执行的操作,如果不知道sudo不可用你就真的被锁定了(它需要工作/etc/ ,设置$PATH和其他安装的东西 – 如果在启动早期出现问题,你可能没有。