Como conceder permissões de usuário root?

12

Acabei de instalar o Arch. Funciona bem. Criei um novo usuário, entrei com ele e agora estou tentando instalar várias coisas pacman. Mas continuo recebendo o erro: error: you cannot perform this operation unless you are root.posso usar o pacmanroot muito bem, mas existe uma maneira de permitir que meu novo usuário execute essas ações?

Eu tentei fazer login no root e usando o gpasswd:

gpasswd -a jack root

mas isso não fez nada.

Jack Stewart
fonte
1
Como uma observação geral, o wiki do Arch Linux é realmente útil e detalhado.
Alex Chamberlain

Respostas:

17

Você deve ler a página do Arch Wiki no sudo .

O sudo ("usuário substituto do") permite que um administrador do sistema delegue autoridade para dar a certos usuários (ou grupos de usuários) a capacidade de executar alguns (ou todos) comandos como root ou outro usuário, fornecendo uma trilha de auditoria dos comandos e seus argumentos.

Você pode instalar a sudopartir dos repositórios e, em seguida, configurá-lo para permitir ao seu usuário jackacesso a comandos privilegiados editando /etc/sudoers. Certifique-se de fazer isso usando o visudocomando

Para dar ao usuário jackprivilégios de root completos, você adicionaria esta linha:

jack ALL=(ALL) ALL
jasonwryan
fonte
8

O que geralmente faço é habilitar privilégios de root para um grupo específico. Dessa forma, você pode adicionar usuários que deseja privilégios de root nesse grupo.

Edite /etc/sudoerscom visudoe adicione (ou comente):

%wheel      ALL=(ALL) ALL

Em seguida, adicione seu usuário a esse grupo:

gpasswd -a jack wheel
Eric Lennartsson
fonte
1
Mesmo que a resposta marcada como aceita e funcione, acredito que essa resposta seja melhor devido ao uso de grupos para modificar sudoers.
Erick Brown
0

Posso usar pacman com root muito bem, mas existe uma maneira de permitir que meu novo usuário execute essas ações?

Você pode criar o seu $USER, adicionando-o wheelapenas ao grupo:

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

Atualize /etc/sudoers como sugerido por Eric Lennartsson. Mas se você estiver procurando uma abordagem programática, poderá criar um arquivo /etc/sudoers.dcomo:

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

O método acima foi sugerido por Boris no Ask Ubuntu e não requer o uso de visudotodos. Ao usá-lo com o pacman prefixo os comandos com sudo como:

sudo pacman -S docker docker-compose
Josh Habdas
fonte