Me rompí sudo - ¿cómo lo arreglo?

0

Aparentemente ya no puedo usar sudo en mi Mac.

Piers-MacBook-Air:~ piersb$ sudo ls
Password:
Sorry, user piersb is not allowed to execute '/bin/ls' as root on Piers-MacBook-Air.local.
Piers-MacBook-Air:~ piersb$ 

Funcionó antes de la actualización más reciente de El Capitán (la actualización a 10.11.4), y estoy en una MacBook Air a mediados de 2013. La cuenta es una cuenta de administrador y pude sudo antes de esa fecha. Mi primer pensamiento fue agregarme a / etc / sudoers pero, jaja, por supuesto que necesitas sudo para eso.

Piers-MacBook-Air:~ piersb$ ls -al /etc/sudoers
-r--r-----  1 root  wheel  272  5 Apr 11:15 /etc/sudoers
Piers-MacBook-Air:~ piersb$ groups
staff com.apple.sharepoint.group.1 everyone localaccounts _appserverusr admin _appserveradm _lpadmin _appstore _lpoperator _developer com.apple.access_ftp com.apple.access_screensharing com.apple.access_ssh

Puedo crear un nuevo usuario administrador, pero ese usuario tiene el mismo problema.

Piers-MacBook-Air:~ testuser$ sudo ls

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Password:
Sorry, user testuser is not allowed to execute '/bin/ls' as root on 
Piers-MacBook-Air.local.

Entonces. ¿Cómo me doy acceso al sudo otra vez? ¿Y es este un problema común?

    
pregunta piersb 08.04.2016 - 11:44

1 respuesta

0

Parece que solo apareció por casualidad en la actualización 10.11.4; El problema era en realidad cuando instalé vagrant. En algún lugar a lo largo de la línea, ya sea I o un script, utilicé sobrescribí / etc / sudoers con lo siguiente en lugar de agregarlo:

Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports
%admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE

Entonces / etc / sudoers fue tostado. Aquí le indicamos cómo solucionarlo si esto le sucede a usted.

  • Ir a Preferencias del sistema
  • Ir a Usuarios & Grupos
  • Haz clic en la cerradura
  • autenticar con una cuenta de administrador
  • Elegir servidor de cuentas de red: unirse ...
  • Haga clic en Open Directory Utility
  • Haz clic en la cerradura
  • autenticar con una cuenta de administrador
  • Elija Editar / Habilitar usuario root
  • Elija una contraseña de root
  • Abre una Terminal
  • Escriba su
  • Escriba su contraseña de root y haga clic en regresar
  • Escriba visudo

Ahora debería estar editando de forma segura / etc / sudoers. O al menos tan seguro como usted puede hacer cualquier cosa mientras esté registrado como root.

Reemplaza cualquier tontería que tengas allí con un archivo adecuadamente seguro. Aquí está el que utilicé:

#
# 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"
Defaults    env_keep += "HOME MAIL"

# 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
  • Pulsa ESC, luego escribe: wq! para guardar y salir del archivo
  • escriba exit para salir del shell de root
  • Volver a las utilidades de directorio
  • Elija Editar / Deshabilitar usuario root

Y - ¡Huzzah! - su comando sudo debería estar de vuelta en marcha y funcionando nuevamente.

    
respondido por el piersb 08.04.2016 - 15:45

Lea otras preguntas en las etiquetas