3 votos

Usar visudo para editar sudoers en Mac

De alguna manera logré que el archivo sudoers en mi Mac diera un error:

    $ sudo visudo
    >>> /etc/sudoers: error de sintaxis cerca de la línea 45 <<<
    sudo: error de análisis en /etc/sudoers cerca de la línea 45
    sudo: no se encontraron fuentes válidas de sudoers, saliendo

Entonces, fui y obtuve el archivo estándar sudoers desde aquí, inicié sesión como root y lo copié desde Documentos a /etc, pero eso no resolvió el problema.

Si intento ejecutar visudo usando root, se abre Sublime Text y veo un archivo sudoers.tmp en blanco, que entiendo es el archivo de bloqueo.

Si intento copiar el contenido del archivo descargado sudoers en sudoers.tmp usando Sublime, obtengo el error anterior.

Entonces, ¿alguien tiene una solución para esto? ¿Qué debería ver cuando ejecuto el comando 'visudo', Sublime Text y sudoers.tmp?

7voto

jojayontour Puntos 36

Si tu visudo no funciona como se espera, tal vez sea porque tu editor no funciona correctamente, intenta establecer la variable de entorno EDITOR con un valor adecuado y luego ejecuta visudo:

EDITOR=nano visudo

Esto funcionará para sh, bash, dash y otros shells compatibles.

0 votos

Funciona para zsh también. Tenga en cuenta que nano funcionará, pero en realidad es pico el que se llama como editor.

2voto

Me encontré con este problema hoy, y fui ayudado por la información anterior, pero quería mantener mi editor configurado en Sublime para otros propósitos. Añadí lo siguiente a mi ~/.bash_profile, lo cual resuelve el problema de visudo, pero no cambia mi editor predeterminado para git, etc.

alias visudo='EDITOR=vi sudo visudo'

Cuando se ejecuta, esto cambia el editor a vi para el comando que sigue, y te permite editar el archivo sudoers con éxito.

-2voto

Joel Puntos 112

Si tienes una versión reciente de macOS (por ejemplo, Ventura), notarás que Apple ha hecho algo diferente en relación a visudo. Aún puedes cambiarlo a lo que desees, pero debes hacerlo en la sección de Defaults del archivo /etc/sudoers.

En mi versión de Ventura, el Default estaba configurado de la siguiente manera:

Defaults        env_keep += "EDITOR VISUAL"

Esta es exactamente la misma configuración que en mi sistema anterior de Catalina, pero parece que ninguno de las variables de entorno "EDITOR -o- VISUAL" está definida en Ventura. Quizás lo más sencillo sea simplemente editar el archivo /etc/sudoers para agregar la siguiente línea que refleje tu elección como editor; por ejemplo:

Si usas MacPorts y tienes una versión actualizada de nano:

Defaults        editor=/opt/local/bin/nano

o, si usas el "nano" estándar que viene con la mayoría de las versiones de macOS:

Defaults        editor=/usr/bin/nano

* que de hecho ahora apunta a <code>pico</code> :P

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