2 votes

Impossible d'exécuter une commande sudo

Je reçois une erreur lorsque j'essaie d'exécuter n'importe quelle commande en mode sudo.

Erreur:

sudo: /usr/bin/sudo doit appartenir à l'uid 0 et avoir l'indicateur setuid défini

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

Mais aucun d'eux n'a résolu mon problème. Probablement mon cas est différent du leur.

Plus d'informations :

J'ai essayé d'installer utorrent en suivant la réponse la mieux notée de cette question.
Après avoir extrait le fichier .tz dans /opt j'ai renommé le fichier extrait.
Depuis lors, je rencontre 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 devrais sauvegarder tout ce que j'ai jamais installé.

4voto

Byte Commander Points 99026

Correction simple, si vous n'avez pas également abîmé pkexec:

Le problème est que votre /usr/bin/sudo a des permissions incorrectes définies (-rwxrwxr-x au lieu de -rwsr-xr-x).

Maintenant, comme le fichier est propriété de root, vous avez besoin des permissions root pour changer ses permissions. 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 réparé. Essayez par exemple la commande suivante pour vérifier :

sudo echo "sudo fonctionne à nouveau ! Hourra ! :D"

Correction plus complexe, si vous avez également abîmé pkexec:

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

Vous pouvez le faire en redémarrant et en attendant que le menu GRUB s'affiche. Cela se produit immédiatement après la fin du travail du BIOS et avant le démarrage d'Ubuntu. Il apparaîtra généralement si vous avez une double amorçabilité avec un autre OS, mais si ce n'est pas le cas, vous devrez maintenir la touche Shift pour le faire apparaître. Sélectionnez le point de menu Options avancées et choisissez ensuite la dernière version du noyau avec le suffixe (mode de récupération). Vous verrez un autre menu, où vous devrez sélectionner root, ce qui vous affichera un terminal avec un accès root.
Plus d'informations sur comment accéder à un shell root en mode de récupération peuvent être trouvées <a href="https://wiki.ubuntu.com/RecoveryMode" rel="nofollow noreferrer">ici</a>, veuillez suivre les étapes 1-7, puis continuer ici.

Exécutez les commandes suivantes dans le shell root :

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.

0voto

erald95 Points 1

Récemment, j'ai eu le même problème, j'ai mal utilisé sudo et pkexec.

J'ai essayé la réponse de @Byte Commander ci-dessus mais cela n'a pas fonctionné pour moi car cela n'a pas changé les permissions sur 2 fichiers spécifiques, donc j'ai dû les changer un par un.

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

Après avoir effectué ces changements, essayez sudo echo "sudo marche à nouveau! Hourra! :D" comme @Byte Commander l'a écrit dans sa réponse et voilà.

0voto

Moiz Imtiaz Points 1

Si vous avez endommagé sudoers et que vous ne pouvez plus exécuter sudo en tant qu'utilisateur, faites ce qui suit:

  1. Exécutez pkexec chmod 777 /etc/sudoers: Cela rendra le fichier accessible en écriture par tout le monde, c'est-à-dire que n'importe qui peut maintenant le modifier
  2. Modifiez le fichier sudoers (définissez les autorisations de l'utilisateur/groupe) comme vous le souhaitez
  3. Comme le fichier sudoers a été rendu accessible en écriture par tout le monde, cela ne fonctionnera pas (mécanisme de sécurité par défaut de Linux)
  4. Remettez les autorisations correctes sur le fichier sudoers en utilisant: pkexec chmod 0755 /etc/sudoers

Si vous avez également endommagé pkexec, suivez la solution donnée par @Byte Commander

0voto

Résoudre l'erreur sudo

vous devriez réinstaller la commande "sudo"

pour cela, suivez la recette suivante :


1- installer "Gestionnaire de paquets Synaptic"

vous pouvez le télécharger à partir de :

https://pkgs.org/download/synaptic

ou

http://archive.ubuntu.com/ubuntu/pool/universe/s/synaptic/synaptic_0.84.3ubuntu1_amd64.deb

ou

recherchez dans l'application Mise à jour de logiciels Ubuntu "paquet synaptic" et installez-le

image:

enter image description here


2- ouvrir l'application


3- en haut de la page, cliquez sur la boîte de recherche et tapez "sudo" trouvez maintenant "sudo" dans la liste > cliquez sur le carré plein et sur le carré ouvert sélectionnez "marquer pour réinstallation" > puis cliquez sur Appliquer en haut de la page et installez-le

images:

enter image description here

enter image description here


4- ouvrir le terminal et exécuter la commande "sudo"

vous obtenez :

usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
            [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] []
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-T timeout] [-u user] file ...

ainsi, le sudo fonctionne maintenant


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