¿Cómo otorgar permisos de usuario root?

12

Acabo de instalar Arch. Funciona genial. Creé un nuevo usuario, inicié sesión con él y ahora estoy tratando de instalar varias cosas pacman. Pero sigo recibiendo el error: error: you cannot perform this operation unless you are root.puedo usar la pacmanraíz muy bien, pero ¿hay alguna manera de permitir que mi nuevo usuario realice estas acciones?

Intenté iniciar sesión en root y usar gpasswd:

gpasswd -a jack root

Pero eso no hizo nada.

Jack Stewart
fuente
1
Como nota general, el wiki de Arch Linux es realmente útil y detallado.
Alex Chamberlain

Respuestas:

17

Deberías leer la página de Arch Wiki en sudo .

sudo ("usuario sustituto do") permite que un administrador del sistema delegue la autoridad para dar a ciertos usuarios (o grupos de usuarios) la capacidad de ejecutar algunos (o todos) comandos como root u otro usuario mientras proporciona una pista de auditoría de los comandos y sus argumentos

Puede instalar sudodesde los repositorios y luego configurarlo para permitir que su usuario jackacceda a comandos privilegiados editando /etc/sudoers. Asegúrese de hacer esto usando el visudocomando.

Para otorgarle al usuario jackprivilegios de root completos, debe agregar esta línea:

jack ALL=(ALL) ALL
jasonwryan
fuente
8

Lo que suelo hacer es habilitar los privilegios de root para un grupo específico. De esa manera, solo puede agregar usuarios a los que desea privilegios de root a ese grupo.

Edite /etc/sudoerscon visudoy agregue (o comente):

%wheel      ALL=(ALL) ALL

Luego agregue su usuario a ese grupo:

gpasswd -a jack wheel
Eric Lennartsson
fuente
1
A pesar de que la respuesta está marcada como aceptada y funcionará, creo que esta respuesta es mejor debido al uso de grupos sobre la modificación de sudoers.
Erick Brown
0

Puedo usar pacman con root muy bien, pero ¿hay alguna manera de permitir que mi nuevo usuario realice estas acciones?

Puede crear su $USER, agregándolos wheelsolo al grupo:

useradd -Ng wheel --create-home --no-log-init $USER

Luego actualice /etc/sudoers según lo sugerido por Eric Lennartsson. Pero si está buscando un enfoque programático, puede crear un archivo /etc/sudoers.dcomo:

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dont-prompt-$USER-for-password

El método anterior fue sugerido por Boris en Ask Ubuntu y no requiere su uso visudoen absoluto. Al usarlo con el prefijo pacman, los comandos con sudo como:

sudo pacman -S docker docker-compose
Josh Habdas
fuente