web-dev-qa-db-fra.com

Sudo peut-il être réinstallé après avoir été retiré?

Cela semble être un problème œuf-poule. La tâche la plus courante utilisant Sudo consiste à installer et à supprimer des logiciels.

Sudo apt-get purge <appname>

Mais Sudo lui-même peut être supprimé.

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

C'est là que le plaisir vient

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

Bien qu'il soit évident qu'aucune personne sensée ne purgera Sudo (autre que moi), quelqu'un peut être dupe pour exécuter cette commande (pas directement, en mode hexagonal, ou quel que soit le nom utilisé) ou - ne personne pourrait utiliser SSH déguisée en gourou de la technologie et faire le bazar.

Alors, y a-t-il un moyen de réinstaller sudo?

60
Registered User

Je peux installer des applications en utilisant:

pkexec apt-get install <appname>

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


Modifier : je peux maintenant confirmer: oui , Sudo peut être installé à l'aide de pkexec apt-get install Sudo:

reinstall Sudo

( cliquez pour agrandir )

54
Radu Rădeanu

Vous pouvez toujours démarrer en mode de récupération , allez dans le shell root et installez-le sans Sudo.

29
Vojtech Trefny

Oui, la réinstallation du paquet Sudo serait possible via la méthode chroot .

  • Premier démarrage à partir du disque live Ubuntu.

  • Montez la partition Ubuntu précédemment installée dans le répertoire de votre choix. Dans mon cas, je l’ai montée dans /media/ubuntu.

    Sudo mkdir /media/ubuntu
    Sudo mount /dev/sdaX /media/ubuntu   # /dev/sdaX - previously installed Ubuntu partition.
    
  • Par défaut, vous ne pouvez pas obtenir de connexion Internet après avoir été chrooté dans une partition. Alors, exécutez la commande ci-dessous pour que cela fonctionne.

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

Merci à @Oli pour this merveilleux morceau de code.

  • Maintenant, chrootez dans ce répertoire monté,

    $ Sudo chroot /media/ubuntu
    # apt-get update
    
  • Installez le paquet Sudo en exécutant,

    # apt-get install Sudo
    
  • Quittez maintenant l'environnement chrooté.

    exit
    
  • Enfin, démarrez votre OS Ubuntu. Maintenant, testez votre commande Sudo, elle fonctionnera sûrement.

22
Avinash Raj

Démarrez avec le paramètre supplémentaire init=/bin/sh sur la ligne de commande du noyau. Cela vous placera directement dans un shell racine, à partir duquel vous pourrez simplement exécuter apt-get install Sudo puis redémarrer. Vous devrez peut-être exécuter /etc/init.d/networking start pour obtenir une connexion réseau opérationnelle en premier. Bien plus simple que de jouer avec des CD de récupération ou des disques live, si vous me le demandez.

4
Jules

Si vous avez déjà défini ou mis à jour le mot de passe du compte utilisateur root avec cette commande Sudo passwd root, vous n'avez pas à vous soucier de la purge de Sudoname __. Connectez-vous simplement à votre compte rootname__, puis installez Sudoname__,

su
apt-get install Sudo

enter image description here

Cliquez ici pour agrandir

1
Avinash Raj