web-dev-qa-db-fra.com

Impossible d'exécuter une commande Sudo

Je reçois une erreur lorsque j'essaie d'exécuter une commande en mode Sudo.

Erreur:

Sudo: /usr/bin/Sudo must be owned by uid 0 and have the setuid bit set

J'ai trouvé un certain nombre de questions et accepté les réponses sur askubuntu.

Mais aucun de ceux-là n'a résolu mon problème . Mon cas est probablement différent d'eux.

Plus d'informations :

J'ai essayé d'installer uTorrent en suivant la réponse votée en haut de cette question .
Après avoir extrait le fichier .tz vers /opt j'ai renommé le fichier extrait.
Depuis lors, je suis confronté à cette erreur.

J'attends une réponse qui ne me suggère pas de réinstaller le système.
Si la réinstallation est la seule solution, je dois sauvegarder tout ce que j'ai déjà installé.

1
partho

Solution simple, si vous ne vous trompez pas aussi pkexec:

Le problème est que votre /usr/bin/Sudo a le mauvais jeu d'autorisations (-rwxrwxr-x au lieu de -rwsr-xr-x correct).

Maintenant, comme le fichier appartient à root, vous devez disposer d'autorisations root pour modifier ses autorisations. Habituellement, vous utiliseriez Sudo pour cela, mais comme il est cassé, nous devons utiliser pkexec en remplacement pour le réparer:

pkexec chmod u+s,g-x /usr/bin/Sudo

Maintenant, tout devrait être corrigé à nouveau. Essayez par exemple commande suivante à vérifier:

Sudo echo "Sudo works again! Yay! :D"

Solution plus complexe, si vous avez également bousillé pkexec:

Tout d'abord, vous devez démarrer votre système Ubuntu en mode de récupération.

Pour ce faire, vous devez redémarrer et attendre que le menu GRUB apparaisse. Cela se produit immédiatement après la fin du travail du BIOS et avant que Ubuntu ne commence à se charger. Il apparaîtra généralement si vous double-amorcez avec un autre OS, mais si ce n’est pas le cas, vous devrez Shift clé pour le laisser apparaître. Sélectionnez le point de menu Advanced options, puis choisissez la dernière version du noyau avec le suffixe (recovery mode). Vous verrez un autre menu, dans lequel vous devez sélectionner root, qui vous montre un terminal avec un accès root.
Vous trouverez plus d’informations sur la manière de saisir un shell racine en mode de récupération ici , suivez les étapes 1 à 7, puis continuez ici.

Exécutez les commandes suivantes dans le shell racine:

mount -o remount,rw /
chmod u=rwxs,g=rx,o=rx /usr/bin/Sudo /usr/bin/pkexec
exit

Ensuite, redémarrez normalement et testez vos commandes.

3
Byte Commander

Récemment eu le même problème, j'ai foiré Sudo et pkexec.

Essayé @Byte Commander♦ answear ci-dessus, mais cela n'a pas fonctionné pour moi car cela ne modifiait pas les permissions sur 2 fichiers spécifiques, donc je devais les changer un à la fois.

Le premier fichier est sudoers qui se trouve dans /etc

  • cd /etc
  • chmod u=rwxs,g=rx,o=rx sudoers

Le deuxième fichier est README qui se trouve dans /etc/sudoers.d

  • cd /sudoers.d
  • chmod u=rwxs,g=rx,o=rx README

Une fois que vous avez effectué ces modifications, essayez Sudo echo "Sudo works again! Yay! :D" comme @Byte Commander♦ l'a écrit sur sa réponse et vous l'avez.

0
erald95