web-dev-qa-db-fra.com

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

Chaque fois que j'essaie de faire quelque chose nécessitant 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 rien installer à partir du Centre de logiciel/gestionnaire de paquets 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 changé les permissions de certains fichiers, puis d'autres en essayant de le réparer: /. Maintenant, je suis complètement perdu quant à quoi faire.

C'est ce qui s'est passé lorsque j'ai essayé de remettre Sudo à fonctionner à l'aide de 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 Root Actions en tant que service/plug-in Dolphin, ainsi l’historique ne m’indique pas les modifications apportées aux autorisations.

Je viens de me rendre compte que les sons ne fonctionnent plus du tout. Quand je vais 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 l'option d'arrêter, je ne peux que me déconnecter ou partir.

10
7UR7L3

propriété d'au moins l'un de vos fichiers système importants est incorrect. C'est une mauvaise chose. si cela est arrivé à de nombreux fichiers système (vous avez peut-être déjà exécuté une grosse commande Sudo chown avec le drapeau -R?), cela pourrait entraîner un certain nombre d’autres erreurs et instabilités système. Donc si vous avez récemment installé Ubunt, vous voudrez peut-être réinstaller comme Adam Heathcote le suggère .

Mais vous ne devez pas 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 réparer (vous devrez peut-être nous dire quels sont les messages d'erreur, afin que nous puissions vous dire comment les réparer également).

Sudo ne fonctionne pas, mais avec Sudo est l'un des deux moyens pour administrateurs effectuer des actions en tant que root sur Ubuntu. L'autre est Polkit (qui s'appelait autrefois PolicyKit).

Exécutez cette commande, qui utilise Polkit (via pkexec ) pour redéfinir la propriété de /usr/lib/Sudo/sudoers.so sur root (c'est-à-dire, uid 0):

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

Ensuite, essayez à nouveau d'utiliser Sudo. Vous pouvez exécuter quelque chose de simple comme Sudo ls et voir si vous obtenez un message d'erreur.

Enfin, je vous recommande d’exécuter history pour afficher toutes les commandes que vous avez exécutées. Espérons que cela listera toutes les commandes que vous avez exécutées et qui ont changé les permissions. En supposant que Sudo fonctionne maintenant, je vous recommande de poser une nouvelle question comprenant la sortie de history, afin d'obtenir de l'aide pour annuler la modification tout ​​les modifications apportées à la propriété du fichier et aux autorisations que vous avez apportées.

Si pkexec ne fonctionne pas non plus ...

Vous avez essayé pkexec et cela n'a pas fonctionné. Puisque ni Sudo ni Polkit ne permettent de réaliser des actions en tant que root, vous devez démarrer en mode de récupération et obtenir un shell racine. Pour ce faire, maintenez Shift lors du démarrage de votre ordinateur, pour que vous obteniez un menu de démarrage visible GRUB. Sélectionnez une entrée contenant les mots mode de récupération (en règle générale, vous devez sélectionner celle qui se trouve le plus en haut de ces mots). Ensuite, vous obtiendrez un menu comportant un certain nombre d'options - sélectionnez l'option à transférer dans un shell racine.

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

Une fois que vous avez un shell racine, lancez:

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 lien .)

Ensuite, après avoir exécuté cette commande mount, exécutez à nouveau la commande chown 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

Sudo devrait alors fonctionner, ou du moins donner une erreur autre.

Enfin, veuillez noter que, compte tenu des erreurs que vous avez montrées, il est probable que de nombreux fichiers ont maintenant un propriétaire ou des autorisations incorrects. Ce serait idéal si vous pouviez déterminer les fichiers que vous avez modifiés de cette manière. Par exemple, si vous pouviez déterminer que tous les fichiers se trouvaient dans quelques dossiers spécifiques, il serait alors possible de corriger toute l'étendue des problèmes récents que vous avez rencontrés.

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

Obtenir que Sudo fonctionne à nouveau est une première étape. Espérons que la technique ci-dessus vous permettra de le faire.

19
Eliah Kagan