Aprenda a criar usuário com sudo no Debian, Ubuntu e Proxmox VE, configurar regras no sudoers.d, cadastrar chave SSH e remover acessos com segurança.
Para que serve
Trabalhar o tempo todo como root é arriscado: qualquer erro de digitação vale para o sistema inteiro e não fica registrado quem fez o quê. O recomendado é ter um usuário nominal para cada pessoa que administra o servidor, com permissão de usar o sudo quando precisar de privilégios. Este artigo mostra como criar usuário com sudo para cada pessoa, liberar permissões específicas com segurança e remover acessos quando alguém sai da equipe.
Pré-requisitos
- Acesso de root ao servidor (SSH ou console IPMI/iLO).
- Debian 12/13, Ubuntu 24.04 ou Proxmox VE 8/9.
- A chave pública SSH de cada pessoa (por exemplo, o conteúdo de
~/.ssh/id_ed25519.pubno computador dela).
Passo a passo para criar usuário com sudo
1. Instalar o sudo (se necessário)
No Debian instalado com senha de root e no Proxmox, o pacote sudo pode não vir instalado. Confira e instale:
apt update
apt install sudo
2. Criar o usuário
No Debian e Ubuntu, prefira o adduser: ele cria o diretório pessoal, copia os arquivos padrão e pede a senha de forma interativa.
adduser maria
Os campos de nome completo, telefone etc. são opcionais; pode apenas pressionar Enter. O useradd também existe, mas é a ferramenta de baixo nível: sem as opções certas (-m -s /bin/bash), ele cria um usuário sem diretório pessoal e com shell limitado.
3. Dar permissão de sudo
No Debian e no Ubuntu, quem está no grupo sudo pode executar qualquer comando como root, informando a própria senha:
usermod -aG sudo maria
O -a é importante: sem ele, o usuário é removido de todos os outros grupos secundários. A nova permissão só vale em uma nova sessão (saia e entre de novo).
4. Regras específicas com sudoers.d
Para dar permissões limitadas, crie um arquivo em /etc/sudoers.d/ usando sempre o visudo, que valida a sintaxe antes de salvar. Um erro de sintaxe nesse arquivo pode deixar o sudo inutilizável para todos.
visudo -f /etc/sudoers.d/deploy
Exemplo: permitir que o usuário deploy reinicie só o Nginx, sem senha:
deploy ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload nginx
Regras importantes:
- O nome do arquivo não pode ter ponto nem terminar em
~, ou será ignorado. - Use sempre o caminho completo do comando (descubra com
command -v systemctl). - Evite
NOPASSWD: ALLpara pessoas. Se a conta for comprometida, o invasor vira root sem esforço. ReserveNOPASSWDpara comandos específicos de automação. - Não edite
/etc/sudoersdiretamente; use os arquivos emsudoers.d, que sobrevivem às atualizações.
5. Configurar a chave SSH do usuário
install -d -m 700 -o maria -g maria /home/maria/.ssh
nano /home/maria/.ssh/authorized_keys # cole a chave pública, uma por linha
chown maria:maria /home/maria/.ssh/authorized_keys
chmod 600 /home/maria/.ssh/authorized_keys
Se a pessoa já tiver acesso por senha, ela mesma pode enviar a chave a partir do computador dela com ssh-copy-id maria@IP-DO-SERVIDOR.
sudo -i. Só depois ajuste o SSH (por exemplo, PermitRootLogin no) e recarregue o serviço. Se algo der errado, o console IPMI/iLO continua permitindo entrar como root localmente.6. Proxmox VE: usuário do Linux x usuário da interface web
Criar um usuário no Linux não dá acesso automático à interface web do Proxmox. Para isso, cadastre-o no realm pam e atribua um papel:
pveum user add maria@pam
pveum acl modify / --users maria@pam --roles Administrator
Ou pela interface: Datacenter > Permissions > Users > Add (realm Linux PAM) e depois Permissions > Add > User Permission. Para quem só opera VMs, use papéis mais restritos, como PVEVMUser ou PVEVMAdmin, aplicados apenas ao caminho da VM ou do pool. Ative também o 2FA (TOTP) em Datacenter > Permissions > Two Factor; veja também o artigo «Como ativar autenticação em dois fatores (2FA) no SSH, Proxmox, Windows e painéis».
7. Bloquear e remover usuários
usermod -L -e 1 maria # bloqueia senha e expira a conta (reversível)
deluser --remove-home maria # remove o usuário e o diretório pessoal
Bloquear a senha não impede login por chave SSH; por isso, ao desligar alguém, apague também o authorized_keys ou use a expiração da conta (-e 1), que bloqueia os dois. No Proxmox, remova também o usuário em Datacenter > Permissions > Users.
Como saber se funcionou
id maria # deve listar o grupo sudo
sudo -l -U maria # mostra o que o usuário pode executar
su - maria -c 'sudo whoami' # deve responder: root
Os usos do sudo ficam registrados no journal: journalctl _COMM=sudo --since today.
Problemas comuns
maria is not in the sudoers file: o usuário não está no gruposudoou ainda não abriu uma nova sessão. Confira comid, saia e entre de novo.sudo: command not found: o pacote não está instalado (passo 1).sudoparou de funcionar para todos: provavelmente há erro em um arquivo de/etc/sudoers.d/. Entre como root pelo console e rodevisudo -cpara achar o arquivo com problema.- SSH recusa a chave: confira as permissões (
700na pasta.ssh,600noauthorized_keys, dono correto) e veja o motivo emjournalctl -u ssh -n 50.
Para contas usadas por aplicações e scripts, veja também o artigo «Privilégio mínimo: como criar contas de serviço e permissões seguras no Linux, Proxmox e Windows». Para endurecer o acesso remoto, veja «Como proteger o SSH: chaves ed25519, sem senha, sem root e com fail2ban ou CrowdSec».
Perguntas frequentes
Qual a diferença entre adduser e useradd?
O adduser é interativo e já cria o diretório pessoal, define o shell e pede a senha. O useradd é a ferramenta de baixo nível e precisa de opções como -m -s /bin/bash para chegar ao mesmo resultado.
Como saber se um usuário tem permissão de sudo?
Rode sudo -l -U nome-do-usuario como root. O comando lista tudo o que o usuário pode executar; id nome-do-usuario mostra se ele está no grupo sudo.
Como usar o sudo sem digitar a senha?
Com uma regra NOPASSWD em um arquivo de /etc/sudoers.d/, editado pelo visudo. Use isso só para comandos específicos de automação, nunca NOPASSWD: ALL para pessoas.
O usuário criado no Linux consegue entrar na interface web do Proxmox?
Não automaticamente. Ele precisa ser cadastrado no realm pam com pveum user add e receber um papel em Permissions.
Leitura complementar
Precisa de ajuda?
Se ficou sem acesso administrativo ao servidor, abra um ticket. Lembre-se de que a E-Consulters não faz gerência de servidor: a administração de usuários do sistema é feita por você, mas podemos orientar o caminho de recuperação pelo console.
