Comando sudo no Linux (escala privilégios) [Guia Básico]
O comando sudo no Linux executa um determinado comando como se fosse outro usuário. Ele é usado no dia a dia nas tarefas de administração do sistema, principalmente para escalar privilégios da conta do root.
Caso o usuário que executou o sudo seja um usuário comum, ele deverá saber a senha do usuário que deseja executar o comando.
Caso o usuário que executou o sudo seja o root, o sudo não irá perguntar a senha de nenhum usuário, já que o root tem superpoderes.
Exemplo:
# sudo -u uira /bin/mail [email protected]
Subject: teste
Estou mandando uma mensagem como se eu fosse o prof. Uirá
.
EOT
Neste exemplo, o usuário root está mandando um e-mail como se fosse o usuário “uira”.
Observe que, se outro usuário tentar fazer o sudo executar um programa com as permissões de outro usuário, o sudo irá solicitar a senha do usuário:
uira@linux-7rxb:~> sudo -u carla /bin/mail
carla’s password:
Neste exemplo, o usuário “uira” está tentando enviar um e-mail como se fosse o usuário “carla”.
O sudo é útil quando você deseja que algum processo execute com um usuário específico, de forma que as permissões de arquivos estejam corretas para o perfeito funcionamento.
O comando su
O comando su executa o shell como se fosse outro usuário.
Exemplo:
uira@linux-7rxb:~> su -
Password:
Neste exemplo, o usuário “uira” solicita que o Shell seja executado como o usuário “root”. Desta forma, o usuário “uira” irá ganhar todas as permissões da conta de superusuário no sistema.
O sinal “-“ faz com que os scripts de carga do shell da conta “root” sejam lidos, como se o próprio “root” logasse no sistema.
Você também pode especificar um usuário para executar o shell como se fosse ele:
# su uira -
Neste exemplo, o usuário root irá executar o shell como se fosse o usuário “uira”.
Em sistemas mais seguros, o usuário “root” nunca tem autorização de entrar diretamente no sistema. Desta forma, os usuários devem logar com suas contas de acesso e, se precisarem, deverão executar comandos de superusuário utilizando o “sudo” ou fazendo acesso à conta de root com o “su”.
Para entrar como root, você pode usar o comando:
$ su root -
Neste caso, você precisa saber a senha do usuário root.
Por este motivo, é comum quando um usuário quer ganhar privilégios do root, utiliza-se o comando:
$ sudo su -
Desta forma, se o seu usuário estiver no grupo que tem permissões para executar o sudo no arquivo /etc/sudoers, você só precisa autenticar novamente com a sua própria senha, e não a senha do usuário root. Essa autenticação é só para confirmar que você é você mesmo. Dependendo da configuração, nem mesmo essa autenticação é necessária.
O comando sudoedit
O comando sudoedit é útil para editar arquivos com as permissões de outro usuário, especialmente o root.
Há duas situações que o uso do sudoedit é interessante:
A primeira é quando o administrador do sistema deseja dar permissões para um determinado usuário editar um arquivo ao qual o este usuário não tenha as permissões de escrita (w), e o administrador não quer dar permissões totais de “sudo” ao usuário.
O truque é criar um grupo de usuários que pode fazer o sudoedit com o comando groupadd:
# groupadd gruposudoedit
E criar uma linha no arquivo /etc/sudoers para o grupo, permitindo que o grupo gruposudoedit possa executar o comando sudoedit para o determinado arquivo:
%gruposudoedit ALL = sudoedit /diretorio/arquivo
Feito isso, qualquer usuário que faça parte do grupo gruposudoedit poderá editar o arquivo com o comando sudoedit:
$ sudoedit /diretorio/arquivo
A segunda situação mais corriqueira é o administrador precisar editar um arquivo do sistema, especialmente os arquivos de configuração no diretório /etc.
O administrador pode recorrer ao comando “sudo vi” para executar o editor de textos “vi” como root, e editar o arquivo:
$ sudo vi /etc/services
Acontece que desta forma o “vi” perderá todas as marcações coloridas do texto:
Vi com marcação colorida |
O melhor a se fazer nestes casos, é utilizar o sudoedit, visto que ele edita o arquivo, salva uma cópia temporária, e só então copia a cópia temporária para o arquivo original.
Você que é profissional de TI, de suporte ou desenvolvedor, já pensou em aprender Linux de verdade?
E ainda de quebra tirar uma certificação LPI Linux Essentials de quebra?
E melhor ainda, com o melhor curso Online para Linux?
[RICH_REVIEWS_SHOW category=”CURSO” num=”all”]
Faça como essas pessoas e crie sua conta agora.
Aqui você tem tudo para você ter sucesso nas provas de LPI
- Aulas Práticas no Shell
- Flashcards para memorização
- Jogos de Palavras cruzadas
- 06 servidores virtuais na Amazon só pra você
- Mapas Mentais
- Vídeo Glossário
- Simulado preparatório para as provas
- Agenda de aula personalizada
- Exercícios guiados – Laboratórios reais
- Recursos de Aula (anotações e outros)
Quer saber se uma certificação vale a pena ? Saiba por que os salários são bons, e, porque as empresas estão procurando profissionais de Linux.
Você entenderá que os benefícios superam de longe o sacrifício.
E se você já se decidiu, veja nosso Guia de Certificação.
E se quer saber onde realizar as provas, consulte a lista de cidade.
Se quiser saber o idioma das provas, veja esse post.
Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, pode acessar aqui.
Gostou? Compartilhe
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix