Réponses:
Si je comprends bien votre problème, alors actuellement vous n'avez pas de sudoers et vous essayez de faire du sudo et cela ne fonctionne pas. Dans ce cas, pour faire fonctionner sudo, vous pouvez procéder comme suit:
Pour vérifier que sudo fonctionne bien cd /etcet sudo vim sudoers. Vous devriez pouvoir voir le fichier sudoers via l'éditeur vim. Toute opération de lecture / écriture dans / etc nécessiterait la commande sudo.
Je sais que c'est un peu surprenant que même après ne pas avoir de sudoers, via l'interface utilisateur, nous pouvons faire des opérations dans / etc. Mais ça a marché pour moi :)
Je suppose que vous essayez d'exécuter une sudocommande et que cela vous donne une erreur qui /etc/sudoersn'a pas les autorisations appropriées?
Si vous avez déjà accordé le Adminstatut de votre compte , vous devriez pouvoir corriger les autorisations via l'interface graphique. Ouvrez le dossier «/ etc» dans le Finder («Aller» -> «Aller au dossier…»), puis ouvrez les sudoerspropriétés du fichier. Cliquez sur le verrou. Accordez le admingroupe read/write, l' systemutilisateur read-only, le wheelgroupe read-onlyet le everyonegroupe no access. Les autorisations doivent maintenant être correctes.
Si vous ne vous êtes pas mis dans le admingroupe, vous devrez redémarrer OSX en mode mono-utilisateur et exécuter la commande chmod 0440 /etc/sudoers.
Activez l'utilisateur root à l'aide des préférences système, puis créez / etc / sudoers lorsque vous êtes connecté en tant qu'utilisateur root à l'aide de
touch /etc/sudoers; chmod 440 /etc/sudoers
Remarque: Étant donné que la commande est exécutée en tant que root dans ce cas et que l'ID de groupe /etcest 0, elle devrait par défaut appartenir à l'utilisateur et au groupe appropriés après la recréation, mais si pour une raison quelconque, elle ne l'est pas, exécutez
chown root:wheel /etc/sudoers
Après avoir créé, /etc/sudoersutilisez visudo pour y insérer ce code:
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
Defaults env_reset
Defaults env_keep += "BLOCKSIZE"
Defaults env_keep += "COLORFGBG COLORTERM"
Defaults env_keep += "__CF_USER_TEXT_ENCODING"
Defaults env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
Defaults env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
Defaults env_keep += "LINES COLUMNS"
Defaults env_keep += "LSCOLORS"
Defaults env_keep += "SSH_AUTH_SOCK"
Defaults env_keep += "TZ"
Defaults env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults env_keep += "EDITOR VISUAL"
# Runas alias specification
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/Revision/CMUpdatePackage/Installer.app/Contents/MacOS/I nstaller
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/UpdatePackageInstaller.app/Contents/MacOS/UpdatePackage Installer
Si vous n'êtes pas administrateur, vous pouvez plutôt démarrer le système en mode mono-utilisateur (cela peut être fait en éteignant l'appareil et en maintenant la commande + s au démarrage) et exécutez:
mount -uw /
et vous serez dans le terminal avec des privilèges root, et vous pourrez exécuter les commandes ci-dessus pour configurer /etc/sudoers
J'ai créé un fichier / tmp / sudoers avec du contenu dans la réponse de John Militer et j'ai exécuté une variante de la commande tmm1.
osascript -e 'do shell script "cat /tmp/sudoers > /etc/sudoers; chown root:wheel /etc/sudoers" with administrator privileges'
Agréable!!!
Les réponses ci-dessus couvrent le contenu par défaut du fichier, comment le déplacer en place avec le Finder et modifier ses autorisations. Cependant, sudo se plaindra à moins que le propriétaire du fichier sudoers ne soit root. La seule façon de changer le propriétaire sans sudo est via cette commande:
osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'