O que é sudo no Linux e como usá-lo


Considere a história em quadrinhos acima da excelente história em quadrinhos do XKCD. O preguiçoso na cadeira quer que o amigo faça um sanduíche, mas eles não têm autoridade para fazê-lo. Isto é, até que ele invoque o poderoso comando sudo. Depois disso, um sanduíche será feito de uma forma ou de outra.

Embora tentar sudo em uma pessoa na vida real provavelmente não seja tão eficaz, é o comando mágico que supera todos os obstáculos no mundo do Linux. O que é sudo? Por que isso existe? A resposta está em como o Linux lida com as permissões.

Compreendendo as permissões do usuário do Linux

O Linux é considerado um sistema operacional seguro devido à forma como lida com as permissões. Embora sistemas operacionais como o macOS (que compartilhou um ancestral com o Linux) e o Windows sejam agora mais parecidos com o Linux nesse aspecto, o sistema operacional de código aberto ainda é um tanto único.

Entender como o Linux lida com as permissões o torna um muito mais fácil entender o comando sudo. Todos os sistemas operacionais modernos têm um nível de permissão de usuário “administrador” ou “root”. Se você tem uma conta de administrador ou root, pode alterar qualquer configuração, excluir quaisquer dados e geralmente fazer o que quiser com o computador.

Isso inclui coisas que você provavelmente não deveria fazer e que podem levar à perda de dados ou à necessidade de uma limpeza completa e reinstalação.

O Linux não não torne as permissões de nível de usuário root o padrão. Em vez disso, sua conta não pode acessar as partes realmente sensíveis do sistema sem elevar seu nível de permissão. Isso significa que o sistema solicitará que você insira a senha do administrador quando quiser fazer algo fora do comum usando uma interface gráfica.

No entanto, quando você deseja usar a linha de comando terminal para fazer as coisas, sudo é o mais seguro e a maneira mais eficiente de fazer isso.

Sudo e o Terminal

Existem duas maneiras de se conceder permissões elevadas no Linux. Uma é fazer login como usuário root permanentemente. O problema com isso é que qualquer outra pessoa que possa acessar o computador pode causar estragos, e até mesmo você pode fazer isso por acidente. Sudo eleva suas permissões apenas por um curto período de tempo para executar os comandos específicos que o seguem.

Sintaxe do Sudo

A sintaxe do Sudo (o formato do comando) é simples. Basta digitar “sudo” seguido do comando que você deseja executar.

Por exemplo, “sudo apt-get update” atualizará todos os repositórios de aplicativos listados no respectivo Arquivo. Se você tentar executá-lo sem o sudo, receberá uma mensagem de erro informando que você não tem permissão. A propósito, este é geralmente o primeiro comando sudo que você deseja executar após uma nova instalação de sua distribuição Linux favorita.

O “Su” no Sudo

O “su” no sudo é a abreviação de “superusuário” e é um comando autônomo. O comando "su" permite que você altere os privilégios de usuário para os quais o sudo o eleva.

Embora sudo eleve você a root temporariamente, su muda você para outro usuário com privilégios adequados. Isso pode parecer uma distinção sem importância, mas há bons motivos para alterar a conta para a qual o sudo eleva o usuário.

Em primeiro lugar, alterar a conta significa que usuários regulares não sabem a senha do root. Em segundo lugar, há um registro de todos os comandos sudo, o que significa que o administrador do sistema (root) pode verificar quem emitiu os comandos su.

A sintaxe para su é essencialmente a mesma que sudo:

Su USERNAME -c COMMAND

Substitua USERNAME pelo usuário desejado para executar o comando e COMMAND pelo comando do Linux que você deseja executar.

Se você deseja executar vários comandos como outro usuário, basta usar:

Su USER

Substitua USER pela identidade da conta de usuário desejada.

Se você usar o su sozinho, o Linux mudará para a outra conta de usuário até que você use o comando “sair”. É importante lembrar disso ou o próximo usuário a acessar o terminal nessa sessão ainda terá permissões elevadas. É por isso que geralmente é melhor usar sudo em vez de su.

O limite de tempo do Sudo

Na primeira vez que usar um comando sudo, você terá que inserir uma senha. Então, essa senha permanecerá válida por 15 minutos. Você pode alterar esse padrão executando o comando sudo visudoe alterando “timestamp_timeout =” para um valor mais longo ou mais curto. No entanto, não recomendamos que você faça isso, a menos que tenha um bom motivo para estender ou reduzir o tempo que uma senha sudo permanece válida.

Alternâncias de opção de sudo

Embora a sintaxe de sudo seja simples, vale a pena conhecer várias opções. Esses comandos abrem informações adicionais ou ajudam a controlar a sessão do sudo:

  • -hmostra a sintaxe e as informações de comando do sudo.
  • -Vexibe a versão atual do sudo em sua máquina.
  • -vatualiza o limite de tempo do sudo, reiniciando o relógio.
  • -llista os privilégios do usuário.
  • -kelimina a sessão sudo atual imediatamente, removendo privilégios elevados.
  • Existem muito mais opções integradas ao sudo, e você pode vê-las usando a primeira opção -h listada acima.

    A captura de tela acima é o que resulta quando você usa a opção de ajuda.

    Comandos úteis do Sudo

    Então, quais comandos habilitados pelo sudo todos os usuários do Linux devem saber? Já cobrimos sudo apt-get update, mas tome nota disso também:

    • Sudo apt-get upgradeatualizará todos os pacotes instalados.
    • Sudo apt-get install instala o software de sua escolha; apenas altere o nome do pacote para o que deseja instalar.
    • Se você não souber o nome do pacote, use dpkg –list.
    • Se você deseja remover um pacote instalado do terminal, use sudo apt-get remove (novamente substituindo o nome do pacote específico em questão).
    • Esses são provavelmente os primeiros comandos sudo que você terá que usar, mas como você aprendeu acima, qualquer comando pode seguir o sudo, mas você só deve usar aqueles que precisam de privilégios mais altos com ele.

      Postagens relacionadas:


      30.06.2021