12 votos

Arreglar el archivo /etc/sudoers

Soy un administrador de sistemas para una empresa y me lanzaron a un servidor horriblemente configurado. En medio de mi refactorización estaba añadiendo usuarios a mi /etc/sudoers archivo. Parece que accidentalmente he eliminado mi cuenta de administrador del servidor del acceso al archivo sudoers.

Sé lo que hice mal (accidentalmente comenté el %admin línea) la pregunta es, ¿cómo puedo restablecer mi acceso de administrador del servidor en el archivo sin tener que reiniciar nada.

Así es como se ve ahora:

##
## User privilege specification
##
root ALL=(ALL) ALL
#%admin  ALL=(ALL) ALL
%superuser ALL=(ALL) ALL
"user1" ALL=(ALL) ALL
"user2" ALL=(ALL) ALL

También hay que tener en cuenta que mis usuarios no tienen permiso para sudo por alguna razón:

Realtor-Station-3-27:~ user1$ sudo -i

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
user1 is not in the sudoers file.  This incident will be reported.
Realtor-Station-3-27:~ user1$

16voto

dan04 Puntos 33306

Si tienes acceso a finder y a una cuenta de administrador del sistema, puedes arreglar esto sin necesidad de reiniciar aprovechando esto.

Abra su buscador y vaya a /etc . Aquí, usted puede ver los detalles del archivo sudoers, incluyendo los permisos - captura de pantalla a continuación.

screenshot showing where to change permissions on the sudoers file in Finder

Cambie los permisos para "todos" aquí a Lectura y Escritura.

En este momento, puedes volver a editarte en el archivo con cualquier editor de texto. Tendrá que devolver los permisos para "todo el mundo" a Sin acceso antes de que sudo le permita realizar una sudo .

6voto

moodforaday Puntos 2633

Una vez que las cosas vuelvan a funcionar, debes asegurarte de que estas líneas existen en la parte inferior de tu /etc/sudoers archivo:

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

Entonces asegúrese de que tiene un /etc/sudoers.d/ directorio. Así es como se ve el mío:

> ls -ld /etc/sudoers.d
drwxr-xr-x 3 root wheel 96 Jul 31 20:59 /etc/sudoers.d/

Ahora puede realizar efectivamente cambios en el sudoers añadiendo un nuevo archivo en el /etc/sudoers.d/ carpeta. Por ejemplo, yo nombré la mía tjluoma por lo que el archivo /etc/sudoers.d/tjluoma (nótese la falta de extensión del nombre del archivo, que parece ser un requisito) tiene mis modificaciones a sudoers pero no me arriesgo a causar problemas globales a sudo si hay un error de sintaxis.

Puede comprobar que su personal sudoers se está leyendo el archivo mediante el uso de sudo visudo -c que listará todos los archivos que sudo como se muestra aquí:

> sudo visudo -c
/etc/sudoers: parsed OK
/private/etc/sudoers.d/tjluoma: parsed OK

(Tenga en cuenta que /private/etc/sudoers.d/ y /etc/sudoers.d/ se refieren a la misma carpeta).

Por supuesto, la mejor manera de realizar cambios en /etc/sudoers o su personal sudoers es con sudo visudo o sudo visudo -f /private/etc/sudoers.d/tjluoma porque comprobará la sintaxis como parte del proceso de edición/guardado, pero probablemente todos hemos sido culpables de no seguir ese paso

2voto

pranav Puntos 43

No tuve éxito en reemplazar el /etc/sudoers con un archivo nuevo y cambiando su permiso a root:wheel y 0440 .

Finalmente tuve que ir al modo de recuperación (reiniciar CommandR )

  1. Montar el HD de Macintosh a través de la Utilidad de Discos
  2. Ir a la Terminal a través de las Utilidades
  3. cd /Macintosh HD/private/etc
  4. Editar sudoers para corregir los errores.
  5. Guarde y cambie los permisos si es necesario. sudoers necesidades del archivo root:wheel . Si no es así, sudo no se ejecutará. chown root:wheel sudoers
  6. También había cambiado el permiso a 0440 desde que eliminé inicialmente sudoers y he creado una nueva copia cuando he iniciado la sesión.

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