63 votes

Est-ce que sudo peut être réinstallé après avoir été supprimé ?

Cela semble être un problème de poule et d'œuf. La tâche la plus courante utilisant sudo est d'installer et de supprimer des logiciels.

sudo apt-get purge <appname>

Pero sudo lui-même peut être retiré.

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

C'est là que le plaisir arrive

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

Bien qu'il soit évident qu'aucune personne saine d'esprit ne purgera sudo (autre que moi), quelqu'un peut être trompé pour exécuter cette commande (pas directement, dans son mode hex, ou quel que soit son nom) ou une personne pourrait se connecter en SSH déguisé en gourou de la technologie et faire le bazar .

Y a-t-il un moyen de réinstaller sudo ?

59voto

Radu Rădeanu Points 156862

Je peux installer des applications en utilisant :

pkexec apt-get install <appname>

En 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.

Donc, je suppose que pkexec apt-get install sudo devrait également fonctionner.


Editar : maintenant je peux confirmer : oui , sudo peut être installé en utilisant pkexec apt-get install sudo :

reinstall sudo

( cliquez pour agrandir )

29voto

Vojtech Trefny Points 14011

Vous pouvez toujours démarrer dans Mode de récupération , passer en root Shell et l'installer sans sudo.

22voto

Avinash Raj Points 72686

Oui, en réinstallant sudo serait possible via chroot méthode.

  • Premier démarrage depuis le disque dur d'Ubuntu.

  • Montez la partition Ubuntu précédemment installée dans le répertoire de votre choix. /media/ubuntu .

    sudo mkdir /media/ubuntu
    sudo mount /dev/sdaX /media/ubuntu   # /dev/sdaX - previously installed Ubuntu partition.
  • Par défaut, vous n'avez pas été en mesure d'obtenir une connexion Internet après avoir été rooté dans une partition, alors exécutez la commande ci-dessous pour le faire fonctionner.

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

Merci à @Oli pour <a href="http://chat.stackexchange.com/transcript/message/14299145#14299145">este </a>un merveilleux morceau de code .

  • Maintenant chroot dans ce répertoire monté,

    $ sudo chroot /media/ubuntu
    # apt-get update
  • Installer sudo en exécutant,

    # apt-get install sudo
  • Maintenant, sortez de l'environnement chrooté.

    exit
  • Enfin, démarrez votre système d'exploitation Ubuntu. sudo cela fonctionnera sûrement.

4voto

skyshock21 Points 511

Boot avec le paramètre supplémentaire init=/bin/sh sur la ligne de commande du noyau. Cela vous mettra directement dans un Shell racine, d'où vous pouvez simplement exécuter apt-get install sudo puis redémarrez. Vous devrez peut-être exécuter /etc/init.d/networking start pour obtenir une connexion réseau fonctionnelle d'abord. C'est beaucoup plus simple que de s'amuser avec des CD de récupération ou des disques vivants, si vous voulez mon avis.

1voto

Avinash Raj Points 72686

Si vous avez déjà défini ou mis à jour le root le mot de passe du compte utilisateur par cette commande sudo passwd root alors vous n'avez pas à vous soucier de la purge sudo Il suffit de se connecter à votre root et ensuite installer sudo ,

su
apt-get install sudo

enter image description here

<a href="https://i.stack.imgur.com/KP2UX.png" rel="nofollow noreferrer"><strong>Cliquez ici pour agrandir</strong></a>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X