15 votes

Pourquoi sudo prend-il trop de temps ?

J'ai récemment effectué une mise à jour vers MacOS Sierra 10.12.4 Beta (16E144f) et il se peut que ce soit la cause de ce problème. sudo pour retarder jusqu'à 10 minutes car c'est le changement le plus récent dont je me souvienne depuis que ce problème est apparu. Je n'ai jamais eu à attendre aussi longtemps pour un programme de base et il est clair que quelque chose ne va pas. La commande finit par aboutir, mais après une attente beaucoup trop longue.

J'ai utilisé cette question comme référence. Jusqu'à présent, j'ai essayé d'ajouter mon nom d'hôte à la fin de l'adresse IP. 127.0.0.1 ligne dans /etc/hosts ainsi que. J'ai vérifié /etc/resolv.conf J'avais quelques entrées supplémentaires lorsque j'étais sur un réseau qui nécessitait des entrées DNS manuelles, mais je les ai supprimées et il n'y a eu aucune différence. J'ai utilisé le networksetup -setdnsservers pour restaurer les valeurs d'origine. L'Internet fonctionne toujours bien mais reste très lent. sudo .

J'ai essayé le logger 'test' en pensant qu'il écrira dans /var/log/system.log mais il semble qu'il ait totalement supprimé ce fichier, bien qu'il ait été rapidement recréé.

J'espérais pouvoir utiliser le strace pour voir ce qui se passait pendant que sudo a fonctionné mais cette commande n'est pas disponible sous OS X. Quelqu'un a-t-il déjà rencontré ce problème sur ce système d'exploitation ?

Le fichier /var/log/system.log contient les messages suivants qui peuvent être pertinents. Encore une fois, la commande finit par aboutir comme d'habitude :

Feb  1 00:07:39 mycomputer com.apple.xpc.launchd[1] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for integer: _DirtyJetsamMemoryLimit
Feb  1 00:07:56 mycomputer com.apple.xpc.launchd[1] (com.apple.quicklook[2355]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook
Feb  1 00:08:16 mycomputer System Preferences[1886]: I can not do what i want
Feb  1 00:11:23 mycomputer com.apple.xpc.launchd[1] (com.apple.opendirectoryd[2335]): Service exited with abnormal code: 70
Feb  1 00:12:07 mycomputer syslogd[54]: ASL Sender Statistics
Feb  1 00:16:35 mycomputer com.apple.xpc.launchd[1] (com.apple.opendirectoryd[2395]): Service exited with abnormal code: 70

Toute aide serait appréciée.

0 votes

La commande que vous exécutez via sudo a-t-elle de l'importance ? Comment les horodatages dans le journal se rapportent-ils à votre action d'exécuter sudo et à l'exécution de sudo ? Je vois opendirectoryd dans le journal, travaillez-vous avec un compte local ou un compte réseau ? Que se passe-t-il si vous changez d'utilisateur (ou si vous en créez un nouveau localement), sudo est-il lent là aussi ?

0 votes

J'utilise la même version bêta et sudo est rapide comme toujours.

1 votes

@patrix Ah ok. Oui, cela pourrait très bien être quelque chose d'autre. Oui, cela se produit quelle que soit la commande que j'utilise avec sudo, le délai est constant. Fondamentalement, la commande commence autour de cette ligne de journal sur com.apple.quicklook et se termine finalement à la fin, donc dans cet exemple, cela a duré environ 8 minutes avec tous ces messages entre les deux. Le message opendirectoryd semble se produire à chaque fois qu'il s'exécute finalement. sudo ls dans mon répertoire personnel local. Pour l'instant, je ne travaille qu'avec des dossiers locaux. Je n'ai qu'un seul utilisateur sur cet ordinateur, mais je peux voir ce qui se passe avec un nouveau compte...

11voto

Cedric Dubois Points 136

La réponse d'ErikMH m'a donné l'idée d'essayer d'abord de rétablir le fichier sudoers, sans rétablir/mettre à jour tout mon système à nouveau. Donc, en résumé :

  1. Exécutez ceci pour obtenir un shell Root : sudo -s
  2. Faites une copie de /private/etc/sudoers
  3. Cours : cp /private/etc/sudoers\~orig /private/etc/sudoers
  4. Fixez les permissions en exécutant : chmod 440 /private/etc/sudoers ; chown root:wheel /private/etc/sudoers
  5. Déplacez tous les fichiers dans /private/etc/sudoers.d/ loin de là
  6. Test sudo dans un autre terminal
  7. N'oubliez pas de quitter ce shell pour éviter d'exécuter par inadvertance des commandes en tant que Root alors que vous ne le vouliez pas.

En cours d'exécution sudo devrait fonctionner à nouveau.

L'étape suivante consiste à vérifier les différences entre l'ancien fichier sudoers (que vous avez copié à l'étape 2) et le fichier actuel, et à ajouter ces modifications étape par étape dans le fichier suivant /private/etc/sudoers ou /private/etc/sudoers.d/ chaque fois que vous exécutez une commande en utilisant sudo pour vérifier si le changement le casse.

Dans mon cas, j'avais spécifié un groupe inexistant dans le fichier sudoers. En corrigeant cela, j'ai résolu mon problème.

0 votes

A fonctionné sur MacOS 10.13 !

0 votes

Cela a également fonctionné pour moi (OSX 10.13). J'ai également eu le même problème - groupe inexistant dans le fichier sudoer.

0 votes

Hmm... Je ne me souviens pas avoir modifié le fichier sudoers sur la machine où j'ai eu ce problème, mais j'aurais aimé essayer ce que vous suggérez au lieu de restaurer mon système.

3voto

Miniman Points 139877

J'avais un fichier dans /etc/sudoers.d/ que j'ai enlevé. Voilà - sudo est à nouveau rapide.

2voto

ErikMH Points 444

Cela peut se produire lors de la mise à jour vers 10.12.4 si vous avez déjà modifié le fichier /private/etc/sudoers.

La solution la plus simple est :

  1. Revenir à une version antérieure du système (vous clonez toujours votre système avant de le mettre à jour, n'est-ce pas ?)
  2. Supprimer /private/etc/sudoers
  3. Copier /private/etc/sudoers~orig dans sudoers
  4. Réinitialiser la propriété des sudoers à system/Root - en lecture seule
  5. Mettre à niveau le système vers 10.12.4

0 votes

"Cela peut se produire lors de la mise à jour vers la 10.12.4 si vous avez déjà modifié le fichier /private/etc/sudoers." Savons-nous ce qui cause ce problème ?

1voto

Ezop Points 239

J'aurais aimé pouvoir trouver la cause réelle de ce problème, mais je n'ai pu le résoudre qu'après avoir restauré le logiciel du système. J'étais auparavant sur la bêta publique de MacOS Sierra, mais je suis maintenant sur la version principale.

Je recharge lentement tous mes programmes et je noterai si j'ai un retard. sudo encore.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X