Para que servem os comandos adduser e useradd?
No Linux, a gestão de usuários é uma tarefa fundamental.
Os comandos adduser e useradd são usados para criar novas contas no sistema, mas apresentam diferenças importantes no modo de funcionamento.
Embora ambos cumpram o mesmo objetivo final, o caminho que cada um segue pode ser bem distinto.
Saber qual utiliza, e como, é essencial para evitar dores de cabeça, principalmente em servidores e ambientes corporativos.

Por que existem dois comandos com a mesma função?
Em muitos sistemas Linux, useradd é o comando original e mais direto, vindo das antigas distribuições UNIX.
Por outro lado, adduser foi criado depois como um “wrapper” ou seja, um comando que simplifica e automatiza diversas etapas envolvidas na criação de um usuário.
Ou seja: enquanto o useradd exige que você especifique cada detalhe, o adduser automatiza tarefas como criação de diretório home, configuração de permissões e até mesmo criação de senha.
Principais diferenças entre adduser e useradd
Apesar de ambos servirem para criar usuários, há detalhes essenciais na prática:
- adduser: Mais amigável, interativo e recomendado para usuários iniciantes ou scripts que precisam de praticidade.
Ele faz perguntas durante o processo e já cria o diretório home, pergunta sobre senha, nome completo e ajusta permissões automaticamente.
- useradd: Mais avançado e “cru”.
Exige mais opções. Por padrão, pode criar o usuário sem senha e sem diretório home, a não ser que você informe explicitamente as opções corretas.
Dessa forma, use o adduser quando quiser automatizar e garantir que tudo ficará pronto com poucos comandos.
Prefira o useradd caso precise de configurações personalizadas ou utilize scripts avançados.

Exemplos práticos de uso de cada comando
1. Criar um novo usuário de forma simples (adduser)
sudo adduser joao
O que acontece?
O sistema pergunta pelo nome completo, senha, informações adicionais e já configura o home do usuário /home/joao.
Assim, em poucos minutos, João está pronto para usar o sistema.
2. Criar um usuário com useradd
sudo useradd -m -s /bin/bash joana sudo passwd joana
Neste caso, o primeiro comando cria o usuário “joana”, já com home (“-m”) e shell bash (“-s”).
Ainda é preciso definir a senha com o comando passwd.
Se você omite opções, o useradd pode não criar o home e nem configurar o shell desejado, o que pode prejudicar a experiência do novo usuário.
3. Adicionar usuário a um grupo extra
Com adduser:
sudo adduser maria sudo
Aqui, “maria” será adicionada ao grupo “sudo” (comandos de administrador).
Dessa forma, ela passa a ter privilégios de superusuário.
Com useradd:
sudo useradd -m -G developers -s /bin/bash pedro sudo passwd pedro
Agora, “pedro” já nasce no grupo “developers”, com home criado e shell bash.
4. Personalizações avançadas (useradd)
Você pode criar um usuário especificando UID, diretório home diferente ou grupo primário:
sudo useradd -u 1050 -d /opt/rafael -g devops -s /bin/zsh rafael sudo passwd rafael
Portanto, o useradd é perfeito quando você quer controle total sobre cada parâmetro.
Opções importantes
- Comum a ambos:
-m : cria diretório /home automaticamente
-s : define qual shell será padrão
-G : adiciona a grupos secundários
- useradd:
-u : define o UID
-d : especifica diretório home
-c : adiciona comentário/informação do usuário
- adduser:
Uso normalmente sem grandes opções; ele pergunta durante o processo.

Quando usar cada um?
- Prefira adduser:
Quando quer praticidade, cadastro rápido, scripts simples ou está começando no Linux.
- Prefira useradd:
Se precisa automatizar todo o processo, aplicar padrões avançados, implantar milhares de usuários via script ou customizar cada detalhe da conta.
Por que isso importa em Linux?
A administração eficiente de usuários é vital para manter o sistema seguro, organizado e funcional.
Ao dominar adduser e useradd, você ganha agilidade e precisão ao controlar o acesso, limitar privilégios, definir grupos e impedir brechas de segurança.
Consequentemente, seja no laboratório de estudos, no gerenciamento de servidores ou no suporte, saber usar esses comandos diferencia o iniciante do usuário avançado, e evita erros que podem deixar seu ambiente vulnerável.


