sudo: /usr/lib/sudo/sudoers.so doit appartenir à uid 0

10

Chaque fois que j'essaie de faire quoi que ce soit qui nécessite mon mot de passe, il renvoie ceci:

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

Je ne peux donc pas installer quoi que ce soit à partir du Centre logiciel / gestionnaire de packages ou exécuter des commandes dans le terminal qui nécessitent mon mot de passe. Je peux me connecter, mais c'est à peu près tout.

J'ai accidentellement modifié les autorisations de certains fichiers, puis en ai modifié d'autres en essayant de le réparer: /. Maintenant, je ne sais plus quoi faire.

C'est ce qui s'est produit lorsque j'ai essayé de faire fonctionner sudo à nouveau avec pkexec:

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

Et pour modifier les autorisations, j'utilisais les actions racine en tant que service / plugin Dolphin, donc l'historique ne m'affiche pas les modifications des autorisations.

Je viens de réaliser que les sons ne fonctionnent plus du tout. Lorsque j'entre dans Phonon, mes paramètres par défaut et mes appareils de lecture ne sont même pas là. De plus, je n'ai pas la possibilité d'arrêter, je ne peux que me déconnecter ou partir.

7UR7L3
la source
Le problème de son et d'arrêt est-il nouveau depuis que vous avez exécuté la pkexeccommande?
Eliah Kagan
@Eliah Kagan, non, j'ai réalisé le problème de son dès que je me suis connecté à mon ordinateur, et j'ai réalisé le problème d'arrêt lorsque j'ai éteint mon ordinateur la nuit dernière. J'ai fini par maintenir le bouton d'alimentation enfoncé.
7UR7L3
J'ai développé ma réponse pour fournir des instructions qui devraient fonctionner même si ni l'un ni l'autre sudoet PolicyKit (via pkexec) ne fonctionnent.
Eliah Kagan
2
su root chown -R root: root / usr / lib /

Réponses:

20

La propriété d'au moins un de vos fichiers système importants est incorrecte. C'est une mauvaise chose; si cela est arrivé à de nombreux fichiers système (peut-être que vous avez exécuté une grosse sudo chowncommande avec l' -Rindicateur à un moment donné?), cela pourrait provoquer un certain nombre d'autres erreurs et instabilités du système. Donc, si vous avez récemment installé Ubuntu , vous voudrez peut-être réinstaller comme le suggère Adam Heathcote .

Mais vous n'avez pas besoin de réinstaller pour résoudre ce problème . Au lieu de cela, corrigez simplement la propriété de ce fichier. Si vous obtenez des erreurs sur d'autres fichiers après cela, vous pouvez également les corriger (même si vous devrez peut-être nous dire quels sont les messages d'erreur, afin que nous puissions vous dire comment les corriger également).

sudone fonctionne pas, mais l' utilisationsudo est l' une des deux façons pour les administrateurs d'effectuer des actions en tant que root sur Ubuntu. L'autre est Polkit (qui s'appelait auparavant PolicyKit).

Exécutez cette commande, qui utilise Polkit (via pkexec) pour changer la propriété de /usr/lib/sudo/sudoers.soback en root(c'est- à -dire, uid 0):

pkexec chown root /usr/lib/sudo/sudoers.so

Essayez ensuite de sudoréutiliser. Vous pouvez exécuter quelque chose de trivial comme et voir si vous obtenez un message d'erreur.sudo ls

Enfin, je recommande de courir historypour révéler toutes les commandes que vous avez exécutées. J'espère que cela répertoriera toutes les commandes que vous avez exécutées et qui ont changé les autorisations. En supposant que cela sudofonctionne maintenant, je recommande de publier une nouvelle question, y compris la sortie de history, pour obtenir de l'aide pour annuler toutes les modifications de propriété et d'autorisations de fichiers que vous avez effectuées.

Si pkexecça ne marche pas non plus ...

Vous avez essayé pkexecet cela n'a pas fonctionné. Puisque sudoni Polkit ne fonctionne pour vous permettre d'effectuer des actions en tant que root, vous devrez démarrer en mode de récupération et obtenir un shell root. Pour ce faire, maintenez enfoncée Shiftlors du démarrage de votre ordinateur, pour vous assurer d'obtenir un menu de démarrage GRUB visible. Sélectionnez une entrée qui contient le mode de récupération des mots (en général, vous devez sélectionner celle la plus proche du haut qui a ces mots). Ensuite, vous obtiendrez un menu où vous avez un certain nombre d'options - sélectionnez l'option pour passer à un shell racine.

Des instructions détaillées sur l'accès à un shell racine en mode de récupération sont ici:

Une fois que vous avez un shell racine, exécutez:

chown root /usr/lib/sudo/sudoers.so

Si vous obtenez une erreur indiquant que le fichier ou le système de fichiers n'est pas modifiable, remontez-le en lecture-écriture:

mount -rw -o remount /

(Source pour l'idée de remonter et comment le faire: cette réponse généralement sans rapport .)

Ensuite, après avoir exécuté cette mountcommande, exécutez à chownnouveau la commande ci-dessus et voyez si cela fonctionne.

Une fois que vous avez terminé en mode de récupération, vous pouvez redémarrer en exécutant:

reboot

sudodevrait alors fonctionner, ou au moins donner une autre erreur.

Enfin, veuillez noter qu'étant donné les erreurs que vous avez montrées, il est probable que de nombreux fichiers aient désormais une propriété ou des autorisations incorrectes. Ce serait idéal si vous pouviez déterminer quels fichiers vous avez modifiés de cette façon. Par exemple, si vous pouviez comprendre qu'il s'agissait de tous les fichiers dans quelques dossiers spécifiques, il pourrait être possible de corriger l'étendue complète des problèmes récents que vous avez rencontrés.

La réinstallation est certainement une option, mais surtout si vous n'avez changé que la propriété (et non les autorisations, qui sont un peu plus difficiles à reconstruire car elles varient davantage), il devrait être possible de simplement redéfinir les autorisations de manière récursive à leurs propriétaires d'origine (probablement généralement root ) et inverser entièrement les dommages.

Se sudoremettre au travail est une première étape. J'espère que la technique ci-dessus vous permettra de le faire.

Eliah Kagan
la source
J'ai suivi ces instructions mais quand j'ai redémarré dans kubuntu, le problème existait toujours. Même erreur. À ce stade, il est probablement plus facile de simplement réinstaller. : /
7UR7L3
De plus, existe-t-il un moyen de faire quelque chose comme ceci: askubuntu.com/questions/9135/… pour tout sauvegarder? Le tout en tant que script pseudo-bash ne fonctionnera pas parce que sudo est impliqué donc ....
7UR7L3
@ 7UR7L3 Cela sauvegardera les informations sur les packages installés et la plupart des informations sur les paramètres système de vos programmes. En combinaison avec une sauvegarde complète de votre répertoire personnel, cela devrait vous permettre de restaurer les choses principalement comme elles étaient, après avoir supprimé le système existant et en avoir installé un nouveau, oui. Veuillez vous assurer d'avoir une sauvegarde de tous les fichiers vraiment importants (comme vos documents) à tout moment. Si vous trouvez que vous avez besoin de plus d'informations sur cette technique appliquée à votre situation, je vous suggère de poster une nouvelle question (mais cela ne me dérange pas si vous posez des commentaires ici).
Eliah Kagan
Y a-t-il un bon moyen de procéder à tout cela? J'ai un disque externe de 1 To sur lequel je peux sauvegarder des trucs, mais il n'apparaîtra nulle part lorsque je le brancherai. Il est allumé pour montrer que cela fonctionne mais rien sur l'écran ne change et ce n'est pas n'importe où dans Dolphin . Ensuite, une fois que j'ai commencé à travailler, comment devrais-je tout sauvegarder? Dans le gestionnaire de packages, je pouvais enregistrer les packages installés dans un document texte, mais c'est vraiment tout ce que j'ai pensé faire pour enregistrer les informations. Presque toutes les autres solutions impliquent sudo qui ne fonctionnera toujours pas.
7UR7L3
@ 7UR7L3 Pour sauvegarder des fichiers? Démarrez à partir d'un CD / DVD ou d'une clé USB en direct. Vous pouvez accéder à vos fichiers à partir de là et les sauvegarder sur votre disque externe. Si votre disque dur externe n'apparaît pas non plus dans le système en direct, c'est un problème totalement distinct que je ne pourrais peut-être pas vous aider et que je ne pourrais certainement pas dans les limites des commentaires. Donc, si cela se produit, je recommande de poster une nouvelle question. Si vous commentez ici avec un lien vers la nouvelle question, je m'assurerai de la regarder et de contribuer si je le peux.
Eliah Kagan