0 votes

Les commandes Sudo produisent une erreur qui indique que le symbole "__chkstk_darwin" est manquant dans le sudoer.

Mon problème sur mon MacOS High Sierra est que, depuis peu, aucune des commandes sudo ne fonctionne.

Voici un échantillon,

Majids-MacBook-Pro:etc mjzarrin$ sudo vi x.txt
dyld: lazy symbol binding failed: Symbol not found: __chkstk_darwin
Referenced from: /usr/local/libexec/sudo/sudoers.so
Expected in: flat namespace

dyld: Symbol not found: __chkstk_darwin
Referenced from: /usr/local/libexec/sudo/sudoers.so
Expected in: flat namespace

Abort trap: 6

Veuillez me conseiller.

Je mettrai à jour la question si des informations supplémentaires sont nécessaires. Plus tard, je m'efforcerai de ne montrer que les éléments relatifs à la solution.

Mises à jour concernant les commentaires :

Majids-MacBook-Pro:local mjzarrin$ sudo
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: error initializing audit plugin sudoers_audit

Majids-MacBook-Pro:local mjzarrin$ type sudo
sudo is hashed (/usr/local/bin/sudo)

Majids-MacBook-Pro:local mjzarrin$ /usr/bin/sudo vi x.txt
sudo: setrlimit(8): Invalid argument
sudo: error in /etc/sudo.conf, line 16 while loading plugin "sudoers_audit"
sudo: unable to find symbol "sudoers_audit" in sudoers.so
sudo: fatal error, unable to load plugins

Voici ce que j'ai fait jusqu'à présent et les résultats.

Malheureusement, je ne sais pas quand commence exactement ce problème. Je l'ai découvert lorsque j'ai essayé d'installer quelque chose avec Brew. J'ai alors pensé que c'était la corruption de Brew. J'ai essayé de le réinstaller mais je n'ai pas pu le réinstaller. J'ai installé un nouveau Brew local. Puis j'ai trouvé quelque chose à propos de sudo est faux. Je ne me souvenais pas d'avoir touché à sudoer explicitement avant que le problème n'apparaisse, puis, en me basant sur d'autres réponses similaires, je l'ai remplacé par sa sauvegarde ("/etc/sudoer~orig"). Bien que les deux fichiers soient identiques en taille, en nombre de lignes et en contenu, je les ai modifiés en ligne de commande en mode de récupération Mac.

J'ai également défini la permission de lecture/écriture à everyone(USER) pour le fichier /etc/sudoer pour vérifier les résultats.

sont des variables d'environnement :

Majids-MacBook-Pro:local mjzarrin$ env
MANPATH=/Users/mjzarrin/.nvm/versions/node/v12.19.0/share/man:/usr/local/share/man:/usr/share/man:/Library/TeX/texbin/man:/Library/Developer/CommandLineTools/usr/share/man
TERM_PROGRAM=Apple_Terminal
NVM_CD_FLAGS=
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/zp/p6j34s0511q33t8npcpsj9gw0000gn/T/
CONDA_SHLVL=1
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.tTwjH0va6l/Render
CONDA_PROMPT_MODIFIER=
TERM_PROGRAM_VERSION=404.1
OLDPWD=/Users/mjzarrin/Documents
TERM_SESSION_ID=33152693-16F1-4C64-A226-3E4AA8CDB8BF
NVM_DIR=/Users/mjzarrin/.nvm
USER=mjzarrin
CONDA_EXE=/Users/mjzarrin/anaconda3/bin/conda
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VwFyVepaRs/Listeners
PATH=/Users/mjzarrin/.cargo/bin:/Users/mjzarrin/.yarn/bin:/Users/mjzarrin/.config/yarn/global/node_modules/.bin:/Users/mjzarrin/anaconda3/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/opt/openssl/bin:/usr/local/sbin:/Users/mjzarrin/.nvm/versions/node/v12.19.0/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin:/Users/mjzarrin/apache-maven-3.5.0/bin/:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin
CONDA_PREFIX=/Users/mjzarrin/anaconda3
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
PWD=/usr/local
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
LANG=en_US.UTF-8
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
M2_HOME=/Users/mjzarrin/apache-maven-3.5.0/
SHLVL=1
HOME=/Users/mjzarrin
CONDA_PYTHON_EXE=/Users/mjzarrin/anaconda3/bin/python
LOGNAME=mjzarrin
CONDA_DEFAULT_ENV=base
NVM_BIN=/Users/mjzarrin/.nvm/versions/node/v12.19.0/bin
NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
DISPLAY=/private/tmp/com.apple.launchd.sNNQyX8v30/org.macosforge.xquartz:0
_=/usr/bin/env

J'ai également vérifié les points suivants. Je suis passé en mode mono-utilisateur (CMD+S pendant le démarrage). J'ai obtenu une ligne de commande et j'ai tapé ce qui suit.

mount -uw /
update_dyld_shared_cache -force 

Il s'est terminé sans erreurs mais avec quelques avertissements. puis j'ai redémarré. et je me suis connecté à mon compte.

Majids-MacBook-Pro:~ mjzarrin$ sudo vi x.txt
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
  Referenced from: /usr/local/libexec/sudo/sudoers.so
  Expected in: flat namespace

dyld: Symbol not found: ____chkstk_darwin
  Referenced from: /usr/local/libexec/sudo/sudoers.so
  Expected in: flat namespace

Abort trap: 6

Majids-MacBook-Pro:~ mjzarrin$ /usr/bin/sudo vi x.txt
sudo: setrlimit(8): Invalid argument
sudo: error in /etc/sudo.conf, line 16 while loading plugin "sudoers_audit"
sudo: unable to find symbol "sudoers_audit" in sudoers.so
sudo: fatal error, unable to load plugins

Majids-MacBook-Pro:~ mjzarrin$ /usr/local/bin/sudo vi x.txt
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
  Referenced from: /usr/local/libexec/sudo/sudoers.so
  Expected in: flat namespace

dyld: Symbol not found: ____chkstk_darwin
  Referenced from: /usr/local/libexec/sudo/sudoers.so
  Expected in: flat namespace

Abort trap: 6

2voto

nohillside Points 82672

Nous examinons donc deux questions ici :

  • /etc/sudo.conf indique un plugin manquant. Normalement, vous devez démarrer en mode utilisateur unique ou récupération, modifier le fichier en utilisant visudo pour supprimer la ligne incriminée et redémarrer. Comme le fichier est déjà accessible en écriture à tout le monde, vous pouvez simplement exécuter vi /etc/sudo.conf pour le réparer, suivi de chmod 640 /etc/sudo.conf; chown root:wheel /etc/sudo.conf .
  • brew uninstall sudo car il est fort probable que cela ne soit pas du tout nécessaire.

PS : Toujours utiliser visudo pour que les contrôles syntaxiques soient effectués automatiquement, cela vous protégera contre un grand nombre de fautes de frappe. En revanche, il ne protège pas contre les erreurs de symboles dans les plugins.

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