4 votos

¿Cómo preparo un inicio de sesión root temporal antes de editar sudoers?

Quiero modificar mi sudo capacidades en mi mac, para evitar pedirá la contraseña de inicio de postgres entre otras cosas. Estoy leyendo Michael Lucas' Sudo Maestría y generalmente tienen una buena idea sobre cómo modificar las entradas y el uso de visudo.

Sin embargo, Michael hace que el punto de que, independientemente de lo que hagas, la edición de sudoers es inherentemente peligrosa y puede dejarlo fuera de su máquina. Y él sale de su camino para advertir a la gente para activar el inicio de sesión root, especialmente en macOS. Una vez que su sudoers archivo está bien y que se ha confirmado que con un reinicio, siempre se puede desactivar la root.

Quiero decir, si sólo se trata de copiar el original sudoers y luego, cuando las cosas blow up, caja de inicio, vaya a la Terminal y restaurar la copia de seguridad de sudoers, eso está bien. Pero yo quiero ser 110% seguro de que no se bloquee.

Nota: yo muy bien podría probar mi mano en un Linux VM sudoers primera, pero todavía quiero tener una vía de escape.

En macOS Mojave, teniendo en cuenta de Apple diversos intencional limitaciones de seguridad alrededor de seguros botas y SIP, lo que son los más sencillos pasos para volver a crear root temporal de inicio de sesión de la puerta trasera?

3voto

klanomath Puntos 19587

No backdoor es necesario, de hecho realmente nada (ni siquiera una copia de seguridad) es necesario para editar el sudoers archivo. Usted no puede conseguir fuera de tu máquina.

Una copia de seguridad (sudo cp /etc/sudoers /etc/sudoers.bak) es más conveniente, sin embargo, porque usted simplemente puede restaurar con un one-liner.

Razones:

  1. sudoers no es necesaria para autenticar a un usuario en el registro-en
  2. sudoers no es necesario para activar el usuario root con la Utilidad de Directorios - sólo un trabajo de la cuenta de administrador. La autenticación se realiza con el local OD servicios.
  3. Si usted tiene una conexión a Internet o a un trabajo local en el Modo de Recuperación (también conocido como la partición de recuperación) siempre se puede restaurar el valor predeterminado de sudoers archivo de un recurso en línea (por ejemplo, pastebin o github) o como se ha mencionado anteriormente: la más conveniente desde un archivo de copia de seguridad.
  4. Si usted tiene un segundo Mac y algunos de montaje de cable siempre se puede iniciar el "roto" Mac en Modo de Disco de Destino y de transferencia de un trabajo bien sudoers archivo a partir de la segunda Mac.

Probado en un Mojave VM:

  1. simplemente quitar el archivo sudoers completamente
  2. la edición de sudoers con nano y comentar el root y %admin línea, el cambio de titularidad de sudoers a 501:el personal y hacer 777

Prueba:

enter image description here

3voto

moodforaday Puntos 2633

Con el debido respeto a las otras personas que han ofrecido sugerencias hasta el momento, están ofreciendo mucho más complicado de ideas que son necesarias.

Aquí está la verdad: de al menos 10.11 adelante, no hay necesidad de tocar tu /etc/sudoers archivo. Ninguno. Basta con dejarlo solo.

Mira en la parte inferior de la /etc/sudoers archivo y verás estas líneas:

## Read drop-in files from /private/etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /private/etc/sudoers.d

Lo que esto significa es que usted puede poner los archivos en /etc/sudoers.d/ y sudo va a leer como si estuvieran en la principal sudoers archivo sin tener que tocar el oficial sudoers archivo.

(En algunas versiones de macOS, puede que necesite crear una carpeta a través de sudo mkdir /etc/sudoers.d/ , pero en las últimas versiones, ya existe.)

Usted puede crear/editar el archivo como este:

sudo visudo -f /etc/sudoers.d/foo

Al salir del editor, visudo se compruebe la sintaxis para usted, pero incluso si usted ignora las advertencias y guardar todos modos, sudo ignorará cualquier archivo en /etc/sudoers.d/ que no tiene la sintaxis correcta, pero su principal sudoers archivo permanecerá intacto y funcionando.

Puede ejecutar sudo visudo -c para comprobar la sintaxis de cualquier/todos los sudoers ficheros, y para demostrar que se han leído/incluido.

Archivos en /etc/sudoers.d/ debe ser propiedad de root, deben ser chmod 440 y que no deberían tener cualquier extensión de archivo (es decir, "foo" está bien, pero no "foo.txt") Si crea el archivo con visudo automáticamente será dado los permisos correctos.

(Ah, y no es necesario habilitar root en un Mac. He utilizado desde el 2003 y hacer todo tipo de cosas raras, pero nunca he necesitado.)


Si alguna vez logran arruinar su /etc/sudoers archivo, puede utilizar BBEdit para editar el archivo. Se le pedirá su contraseña de administrador, pero una vez que entró, se puede editar el archivo y quitar la línea incorrecta. Pero usted debe nunca edición de la /etc/sudoers archivo.

2voto

Nate Puntos 220

macOS es un poco más seguro que la mayoría de los unixish sistemas operativos en este sentido, ya que cuenta con senderos a root de que no dependen sudo. Si haces un lío /etc/sudoers, hay varias formas de recuperar (incluso sin preparación previa, aparte de la copia de seguridad de /etc/sudoers):

  • Ejecute la Utilidad de Directorios (está escondido en /System/Library/core services/Aplicaciones, pero Spotlight puede encontrar). Haga clic en el candado y autenticar, a continuación, elija el menú Edición > Habilitar el Usuario Root, e introduzca una contraseña de root. Cuando hayas terminado con la root, se puede desactivar de la misma manera.

  • Usted puede utilizar AppleScript s do shell script ... with administrator privileges a ejecutar comandos de shell como root. Abrir /Aplicaciones/Utilidades/Editor de secuencias de Comandos y escriba algo como esto:

    do shell script "cp /etc/sudoers.bkp /etc/sudoers" with administrator privileges
    

    ... y pulse ejecutar (hacia la derecha-triángulo) en el botón de la barra de herramientas. Autenticar cuando se le solicite.

Luego está también el simple y el método universal: antes de jugar con /etc/sudoers, ejecute sudo -s a abrir un shell de root y dejarlo abierto así que usted puede utilizarlo para recuperar, si es necesario. Es obvio que no sobreviven a un reinicio, pero se puede hacer pruebas básicas en su nuevo /etc/sudoers antes de reiniciar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X