sudo
No servidor você trabalha como usuário comum: o sudo roda um comando como root. Quem pode usar, sudo -u e a armadilha do >.
>_ Teste aqui: um Linux simulado, nesta páginanada roda no seu computador
Carregando o terminal…
Exemplos
-
sudo -l -
sudo touch /srv/site/index.html -
ls -l /srv/site -
echo "hello" | sudo tee /srv/site/index.html -
sudo useradd -m -s /bin/bash intern -
sudo -u intern whoami
Como funciona
Em servidores de verdade você entra como usuário comum (o prompt termina em $). Os arquivos fora da sua pasta pessoal são do root, então mexer neles dá "Permission denied". O sudo COMMAND roda aquele único comando como root.
Só usuários do grupo sudo (ou listados em /etc/sudoers.d) podem usar — o id mostra seus grupos. O sudo -u USER roda um comando como outra pessoa.
Sintaxe
sudo [-u USUÁRIO] COMANDO | sudo -l
Opções
| Opção | O que faz |
|---|---|
COMMAND | roda como root |
-u USER | roda como esse usuário |
-l | o que você tem permissão de rodar |
| sudo tee FILE | escreve num arquivo do root (o > sozinho não consegue) |
Bom saber
sudo echo hi > /etc/motdainda falha: o>é feito pelo seu próprio shell, antes do sudo rodar. Useecho hi | sudo tee /etc/motd.- Evite o
sudo -i(um shell de root inteiro) no dia a dia: um comando de cada vez é mais seguro e mais fácil de conferir depois.