Como criar um usuário com sudo no AlmaLinux, no Rocky Linux e no CentOS usando o grupo wheel, testar o acesso e deixar de usar o root no dia a dia.
O sudo permite que um usuário comum execute comandos de administrador, um de cada vez, com a própria senha. É mais seguro que entrar como root: cada comando fica registrado com o nome de quem o executou e um erro de digitação não tem o poder do root o tempo todo. Nas distribuições da família Red Hat, quem está no grupo wheel já pode usar o sudo, sem editar nenhum arquivo.
Antes de começar
- Acesso ao servidor como root (veja como acessar o SSH como root).
- O nome do novo usuário. Nos exemplos,
maria.
Como criar o usuário sudo no AlmaLinux e no Rocky Linux
- Crie o usuário. A pasta pessoal
/home/mariaé criada junto:
Ouseradd mariaaddusertambém funciona: nessas distribuições ele é o mesmo programa. - Defina a senha. Digite duas vezes; nada aparece na tela.
passwd maria - Coloque o usuário no grupo wheel.
Ousermod -aG wheel maria-aé essencial: sem ele, o usuário sai de todos os outros grupos a que pertence. - Confirme que o grupo wheel tem sudo. Já vem liberado de fábrica, mas vale conferir:
O esperado égrep -E '^%wheel' /etc/sudoers%wheel ALL=(ALL) ALL. Se a linha estiver comentada com#, abra o arquivo comvisudoe tire o#.
Teste o acesso sudo
su - maria
sudo whoami
No primeiro uso, o sudo mostra um aviso sobre responsabilidade e pede a senha da maria. A resposta deve ser root. Outro teste útil é sudo ls -la /root, uma pasta que só o root pode ler. Volte para o root com exit. Para ver o que um usuário pode fazer, rode como root sudo -l -U maria.
Próximo passo: entre com o novo usuário e proteja o root
- Copie a sua chave SSH para o novo usuário, a partir do seu computador:
ssh-copy-id [email protected] - Entre como maria numa nova janela e confirme que o
sudofunciona. - Só então bloqueie o login direto do root, com
PermitRootLogin nono/etc/ssh/sshd_configesudo systemctl restart sshd. Daqui para a frente você entra como maria e usasudo -iquando precisar de um terminal de root.
No AlmaLinux e no Rocky 9, os arquivos da pasta /etc/ssh/sshd_config.d/ são lidos antes do arquivo principal e prevalecem sobre ele. Se o sudo grep -ri permitrootlogin /etc/ssh/sshd_config.d/ mostrar alguma linha, altere-a lá. Confirme o valor em uso com sudo sshd -T | grep -i permitrootlogin.
su para o root. O WHM mostra e edita os membros do grupo na tela Manage Wheel Group Users.No Ubuntu e no Debian
O grupo que dá acesso ao sudo se chama sudo, não wheel:
sudo adduser maria
sudo usermod -aG sudo maria
O adduser do Debian e do Ubuntu é interativo: pede a senha e alguns dados opcionais, que você pode deixar em branco. No Debian, se você definiu senha de root na instalação, o sudo pode nem estar instalado: como root, rode apt install sudo antes.
Sudo sem senha (use com cuidado)
Para scripts e automações, dá para liberar o sudo sem pedir senha. Crie um arquivo próprio, sempre pelo visudo, que confere a sintaxe antes de salvar:
visudo -f /etc/sudoers.d/maria
Com o conteúdo:
maria ALL=(ALL) NOPASSWD: ALL
Quem tiver acesso à conta da maria terá root sem nenhuma barreira. Nomes de arquivo com ponto (como maria.conf) são ignorados nessa pasta.
Problemas comuns
maria is not in the sudoers file. This incident will be reported.
O usuário não está no grupo certo, ou entrou antes de ser adicionado. Confira com id maria; se o wheel (ou o sudo, no Ubuntu) aparecer, saia e entre de novo, porque os grupos só valem a partir de um novo login.
adduser: command not found no Debian
Você virou root com su sem o hífen, e o /usr/sbin ficou fora do caminho de comandos. Use su -.
Erro de sintaxe no sudoers depois de editar
Por isso a edição deve ser sempre pelo visudo. Se o sudo parou de funcionar, entre como root (ou pelo console) e corrija com visudo.
Como tirar o sudo de um usuário?
Remova-o do grupo com gpasswd -d maria wheel (ou sudo, no Ubuntu e no Debian) e apague o arquivo dele em /etc/sudoers.d/, se houver.