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 /etc
et 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 sudo
commande et que cela vous donne une erreur qui /etc/sudoers
n'a pas les autorisations appropriées?
Si vous avez déjà accordé le Admin
statut 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 sudoers
propriétés du fichier. Cliquez sur le verrou. Accordez le admin
groupe read/write
, l' system
utilisateur read-only
, le wheel
groupe read-only
et le everyone
groupe no access
. Les autorisations doivent maintenant être correctes.
Si vous ne vous êtes pas mis dans le admin
groupe, 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 /etc
est 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/sudoers
utilisez 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'