Respuestas:
Si entiendo su problema correctamente, actualmente no tiene sudoers y está tratando de hacer sudo y no está funcionando. En este caso, para que sudo funcione, puede hacer lo siguiente:
Para comprobar sudo está funcionando bien cd /etc
y sudo vim sudoers
. Debería poder ver el archivo sudoers a través del editor vim. Cualquier operación de lectura / escritura en / etc requeriría el comando sudo.
Sé que esto es un poco sorprendente, incluso después de no tener sudoers, a través de la interfaz de usuario podemos hacer operaciones en / etc. Pero funcionó para mí :)
¿Supongo que está intentando ejecutar un sudo
comando y le está dando un error que /etc/sudoers
no tiene los permisos correctos?
Si ya otorgó el Admin
estado de su cuenta , debería poder corregir los permisos a través de la GUI. Abra la carpeta "/ etc" en Finder ("Ir" -> "Ir a la carpeta ..."), luego abra las sudoers
propiedades del archivo. Haz clic en el candado. Conceder el admin
grupo read/write
, el system
usuario read-only
, el wheel
grupo read-only
y el everyone
grupo no access
. Los permisos ahora deberían ser correctos.
Si no se puso en el admin
grupo, deberá reiniciar OSX en modo de usuario único y ejecutar el comando chmod 0440 /etc/sudoers
.
Habilite al usuario root usando las preferencias del sistema y luego cree / etc / sudoers mientras está conectado como usuario root usando
touch /etc/sudoers; chmod 440 /etc/sudoers
Nota: Dado que el comando se ejecuta como root en este caso, y la identificación del grupo /etc
es 0, por defecto debería ser propiedad del usuario y el grupo correctos después de la recreación, pero si por alguna razón no lo es, ejecute
chown root:wheel /etc/sudoers
Después de crear, /etc/sudoers
use visudo para insertar este código en él:
# 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 no es administrador, puede iniciar el sistema en modo de usuario único (esto se puede hacer apagando el dispositivo y manteniendo presionados los comandos + s al inicio) y ejecute:
mount -uw /
y estará en la terminal con privilegios de root, y podrá ejecutar los comandos anteriores para configurar /etc/sudoers
Creé un archivo / tmp / sudoers con contenido en la respuesta de John Militer y ejecuté una variación del comando tmm1.
osascript -e 'do shell script "cat /tmp/sudoers > /etc/sudoers; chown root:wheel /etc/sudoers" with administrator privileges'
¡¡¡Agradable!!!
Las respuestas anteriores cubren el contenido predeterminado del archivo, cómo moverlo a su lugar con Finder y cambiar sus permisos. Sin embargo, sudo se quejará a menos que el propietario del archivo sudoers sea root. La única forma de cambiar el propietario sin sudo es mediante este comando:
osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'