Usuario no en el archivo sudoers. Este incidente será reportado

24

Necesito instalar un paquete. Para eso necesito acceso de root. Sin embargo, el sistema dice que no estoy en el archivo sudoers. ¡Al intentar editar uno, se queja por igual! ¿Cómo se supone que debo agregarme al archivo sudoers si no tengo derecho a editar uno?

He instalado este sistema y solo administrador. ¿Que puedo hacer?

Editar : ya lo he intentado visudo. Me exige estar en sudoers en primer lugar.

amarzaya@linux-debian-gnu:/$ sudo /usr/sbin/visudo 

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.

[sudo] password for amarzaya: 
amarzaya is not in the sudoers file.  This incident will be reported.
amarzaya@linux-debian-gnu:/$ 
Sergiy Belozorov
fuente
44
Pues obviamente user not(is) the sudoers file. (
Error tipográfico
8
Ahora estás en la lista traviesa - xkcd.com/838
Aaron Newton

Respuestas:

18

Sería una especie de agujero de seguridad si pudiera agregarse /etc/sudoerssin tener acceso a sudo o root. Básicamente, cualquiera podría hacerse root.

Básicamente, debe solicitar a los administradores de esa máquina que lo agreguen o que instalen el paquete por usted, según las políticas del sitio.

También debe asegurarse de usar visudo para editar el archivo sudoers: comprueba que la sintaxis es correcta antes de escribir el archivo. Y puede usar editores que no sean vi con visudo. Por defecto, usará lo que haya establecido $EDITORy, si no lo tiene, puede hacer

# EDITOR=nano visudo

para usar el nano editor en su lugar.

Hamish Downer
fuente
55
Soy el administrador, ya que esta es mi máquina y he instalado este sistema, pero no ayuda :(
Sergiy Belozorov
99
Si es su sistema, entonces debería haber ingresado una contraseña para el usuario raíz al instalar. Por lo tanto, inicie sesión como 'root' y luego haga las cosas visudo.
Hamish Downer
En efecto. Mi culpa. Olvidé que ingresé la contraseña durante la instalación en ese momento.
Sergiy Belozorov
24

Inicie sesión como root y use /usr/sbin/visudopara editar el archivo y agregar su nombre de usuario. Vi / vim normal no podrá editar el archivo.

La forma más fácil es bajar hasta que vea la línea " root ALL=(ALL) ALL" y agregarse debajo de eso con la misma sintaxis ( yourusername ALL=(ALL) ALL). O bien, puede leer la página de manual de sudoers si desea darse privilegios más específicos.

Ricket
fuente
Requiere que esté en la lista de sudoers en primer lugar para ejecutar visudo. He instalado este Debian, no hay otro administrador.
Sergiy Belozorov
Si ha iniciado sesión como root, no necesita ejecutarlo sudo visudo; solo corre /usr/sbin/visudo. Pero parece que ya lo descubrió, a partir de los comentarios de la otra respuesta.
Ricket
¿No es suficiente agregar el usuario respectivo al grupo "sudo" o "sudoers" (dependiendo de la distribución)? Lamentablemente en mi caso, no funcionó, pero podría jurar que esto solía funcionar ...
Gregor
5

Acabo de escribir el comando:

$ su

Y solicitó la contraseña "root". Mecanografiado y boom ... ¡Funcionó!

Este problema fue mi error. Debido a que volví a las instalaciones en el momento en que creé el nombre de usuario y la contraseña.

Carlos Trisotto
fuente
¡Gracias, fue realmente útil y me salvó el tocino! Pero tengo curiosidad de por qué simplemente agregar este comando y luego la contraseña de root permitiría privilegios elevados ... parece más bien frustrar el propósito del mensaje "Usuario no en el archivo sudoers. Este incidente será reportado"
Sol
1

Quizás la forma más fácil, una vez que eres root, es:

echo 'amarzaya ALL=(ALL) ALL' >> /etc/sudoers

fuente
77
Debe asegurarse de usar visudo para editar el archivo sudoers, en lugar de editarlo directamente o hacer eco de texto en él. Esto asegurará que sea sintácticamente correcto y que no se bloquee el acceso ni otorgue a alguien acceso incorrecto.
pkaeding
1

Si su archivo sudoers ya contiene este tipo de línea

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Entonces, la forma más limpia de hacer las cosas es probablemente otorgarle el admingrupo a su usuario. Por ejemplo, para agregar un oráculo de usuario al admin grupo :

usermod -aG admin oracle
Alain Pannetier
fuente
Eso es lo que estaba buscando. Para mí, el más limpio también, sin meterse con el archivo de sudoers.
webjunkie
1
El comando correcto esusermod -g oracle admin
kvanberendonck
-1: la sintaxis es usermod -g $group $user. Probablemente estés pensando en la addusersintaxis, que es adduser $user $group.
Blacklight Shining
1
... en realidad, lo más probable es que quieras usermod -aG $group $user. -gestablece el grupo primario del usuario en el que especifique, y -Gsin -aeliminará el usuario de los grupos que no están en la lista. -gTambién cambiará la propiedad del grupo de todos los archivos del grupo anterior en el directorio de inicio del usuario. Entonces, si eres como yo y tienes tu umask configurado para 007...
Blacklight Shining
1
@BlacklightShining. Tienes razón. La sintaxis incorrecta fue propuesta por un comentarista anterior y dado oracleque a menudo también es un grupo, de hecho hay espacio para la confusión. No debería haber "corregido".
Alain Pannetier
-1

En caso de que aún pueda obtener acceso a la raíz usando su, puede usar esta línea para agregarse a /etc/sudoers/:

su -c 'echo $USER ALL=(ALL)ALL >> /etc/sudoers'

Para activar el cambio, cierre sesión y vuelva a iniciarla. Por ejemplo, finalice su sesión X o cierre sesión mediante shell enter exit.

Bengt
fuente
-1: ver el comentario de pkaeding .
Blacklight Shining
-1

Si no puede usar el sudocomando, puede usar el siguiente método:

  1. Presione Ctrl+ Alt+F1
  2. Cerrar la sesión del usuario si el usuario no es root
  3. Inicie sesión como root
  4. Usar privilegios de root
  5. Cerrar sesión ( exit) - Ctrl+ Alt+ F7para llegar a la GUI
usuario3113604
fuente
-1: Esto solo funciona en algunos entornos locales que realmente tienen una GUI.
Blacklight Shining
-1

Todo lo que necesitas es agregar tu <username>al whellgrupo.

# usermod -aG whell username

Luego inicie sesión con su nombre de usuario y disfrute :)

EFernandes
fuente
-3

Inicie sesión usando lo siguiente primero:

$ su

Entonces adelante con:

$ sudo apt-get update

o lo que sea normal

Alastair
fuente
1
no necesitas su, sudo hace esto.
Simon Sheehan
En realidad, no son lo mismo. sudo es 'hacer como súper usuario', pero inicias sesión con la contraseña de tu usuario. su es 'cambiar de usuario', y por defecto (sin argumentos) intenta cambiar al usuario raíz, en cuyo caso debe ingresar la contraseña de root. Pero también tienes razón: usar sudo después de su es redundante, ya que ya serías el usuario root.
Aaron Newton
@ aaron.newton En realidad lo leería como Cambiar usuario y DO; Puede elegir cualquier usuario para ejecutar el comando como con la -ubandera. Que se utiliza sobre todo para la raíz, pero también lo es su.
Blacklight Shining
@ aaron.newton En realidad lo leería como Cambiar usuario y DO; Puede elegir cualquier usuario para ejecutar el comando como con la -ubandera. Que se utiliza sobre todo para la raíz, pero también lo es su.
Blacklight Shining