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?
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
:
Vous pouvez toujours démarrer en mode de récupération , allez dans le shell root et installez-le sans Sudo.
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.
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.
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 Sudo
name __. Connectez-vous simplement à votre compte root
name__, puis installez Sudo
name__,
su
apt-get install Sudo