¿Cómo agrego un usuario al grupo "sudo"?

187

En /etc/sudoersveo esto:

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

Entonces, ¿cómo agrego un usuario a ese sudogrupo?

molinillo de cafe
fuente
¿Alguien más está tratando de hacer que sudo funcione sin contraseña en ubuntu 17?
Adam F
@AdamF mira aquí . La próxima vez haga una nueva pregunta si desea una respuesta más rápida. ;-)
Fabby
Molinillo de café: ¿le importaría cambiar su aceptación a la respuesta más votada, ya que es una mejor manera de hacerlo? (sin contraseña)
Fabby

Respuestas:

250
sudo usermod -aG sudo <username>

El aes muy importante. Sin ella, serán eliminados de todos los demás grupos. Tendrá que reiniciar su shell / terminal o cerrar sesión y volver a iniciarla para que esto surta efecto.

Ver también:

maco
fuente
Hice lo que me recomendó, pero la terminal me dijo bash: sudo: command not found, ¿por qué?
Teifi
@Teifi, eso significa que probablemente no tienes sudoinstalado o, por alguna extraña razón, no está en tu camino. ¿Qué pasa cuando corres which sudo?
n0pe
Las nuevas terminales no fueron suficientes. Terminé reiniciando por otra razón y ahora funciona. Probablemente cierre de sesión / in.
deed02392
Sé que aes para agregar, pero creo que será más útil tener agregar como comportamiento predeterminado. Crear un alias es fácil, por lo que será la forma de tenerlo y groupadd groupluego agregarlo. Hice el comando sin -a una vez hoy ya que no recordaba el -aargumento.
erm3nda
Aunque este es un foro de Ubuntu, para CentOS tuve que hacerlo sudo usermod -aG sudo <username>. Porque no había una manera fácil de averiguarlo.
akki
43

Puede usar la GUI de administración de usuarios para él (el mismo lugar donde crea usuarios) o usarlo sudo adduser <username> sudoen la línea de comandos.

txwikinger
fuente
2
Esto también se menciona en la documentación de ubuntu en RootSudo, aunque se refieren al grupo administrador en lugar del grupo sudo
icc97
8
+1: ¡esta es la forma más fácil de recordar, simple e intuitiva de agregar un usuario a un grupo!
Andrea Corbellini
Esto me da un error diciendoUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
akki
23

También puede usar una interfaz gráfica. Haga clic en el engranaje en la parte superior derecha del panel, luego seleccione "Configuración del sistema" y luego "Cuentas de usuario"

Debe hacer clic en el pequeño botón de desbloqueo para poder editar cosas en esta ventana. Luego haga clic en la cuenta de la persona y seleccione el menú desplegable adecuado para "Tipo de cuenta"

ingrese la descripción de la imagen aquí

qbi
fuente
Tengo Ubuntu 10.10 pero mi interfaz gráfica está bloqueada de alguna manera. Se abre pero cuando presiono los botones no pasa nada. Supongo que es algo relacionado con los privilegios (en realidad soy sudoer). ¿Cómo puedo resolver este problema?
linello
¿Hiciste clic en el botón "desbloquear"?
daboross
Buena animación! ¿Me gustaría hacer una animación de gif para mostrar nuevas funciones de mi aplicación web? Estoy en Lubuntu 16.04 ...
Stephane
20

Es realmente simple si está utilizando Unity como su entorno de escritorio.

Si ya ha creado un usuario, simplemente puede cambiarlo de Estándar a Administrador , de lo contrario, asegúrese de haber seleccionado Administrador al crear uno nuevo.

No olvides desbloquear antes de intentar cambiarlo

ingrese la descripción de la imagen aquí

Bruno Pereira
fuente
2
Muy buena animación GIF! +1 ¿Cómo lo hiciste? Movió la pregunta aquí .
hhh
2

sudo gpasswd -a $USER sudo

joschi
fuente
2

Llego tarde a la fiesta, pero esta respuesta podría ayudar a alguien que usa Ubuntu dentro de un contenedor Docker.

Recientemente creé un contenedor Docker basado en Ubuntu 16.04.1.

Por defecto, la imagen Docker Ubuntu es una versión simplificada de Ubuntu, que no tiene una gran mayoría de herramientas comunes incluidas sudo.

Además, de manera predeterminada, el usuario inicia sesión en el contenedor Docker como root.

Por lo tanto, comencé el contenedor con el docker runcomando e instalé el paquete 'sudo':

root@default:/# apt-get install sudo

Ejecutar el comando adduser myuser sudoinformó error adduser: The user 'myuser' does not exist.. Después de leer esta respuesta , primero ejecuté el comando para crear el usuario:

root@default:/# adduser myuser

Luego ejecutó el siguiente comando:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

El usuario myuser se agregó correctamente al grupo sudo.

Antonio
fuente
1

Use usermod. Agregue el permiso sudo con el siguiente comando:

usermod -aG sudo <your username>

Tenga en cuenta que tendrá que usar la cuenta raíz para hacer esto o usar otra cuenta que tenga permisos de sudo. Si por alguna razón no tiene acceso a otra cuenta y no conoce la contraseña de root, necesitará un CD en vivo de Ubuntu (u otra distribución de Linux) y luego necesitará conectarse a su sistema de archivos Ubuntu y ejecuta el comando anterior desde el interior del chroot.

CodeExecution
fuente
1

Así es como configuro un usuario no root con la imagen base de ubuntu:18.04:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id

Qué sucede con el código anterior:

  • Se foocrea el usuario y el grupo .
  • El usuario foose añade a la tanto la fooy sudogrupo.
  • El uidy gidse establece en el valor de 999.
  • El directorio de inicio está establecido en /home/foo.
  • El shell está configurado en /bin/bash.
  • El sedcomando no hace actualizaciones en línea para el /etc/sudoersarchivo para permitir fooy rootusuarios sin contraseña de acceso al sudogrupo.
  • El sedcomando deshabilita la #includedirdirectiva que permitiría que cualquier archivo en subdirectorios anule estas actualizaciones en línea.
Seth Bergman
fuente