Como revisar o uso do comando sudo no Linux

O comando sudo dá a um usuário superusuário ou poderes de root. Você certamente deu a eles o discurso "com grandes poderes vêm grandes responsabilidades". Veja como verificar se eles ouviram ou não.

índice

  1. O comando sudo
  2. O arquivo auth.log
  3. Usando diaryctl
  4. Usando o utilitário de log do GNOME
  5. Nem todo mundo precisa de acesso root

O comando sudo

O comando sudo significa "substituir usuário do". Permite que uma pessoa autorizada execute um comando como se fosse outro usuário. Ele pode receber parâmetros de linha de comando, um dos quais é o nome do usuário com o qual você deseja que o comando seja executado. A maneira mais comum de usar o sudo é ignorar as opções de linha de comando e usar a ação padrão. Isso efetivamente executa o comando como usuário root.

Usar sudo dessa maneira requer permissão especial. Apenas os privilegiados podem usar sudo . Ao instalar uma distribuição Linux moderna, você é solicitado a definir uma senha de root que pode ser usada com sudo . A permissão para fazer isso é concedida ao usuário normal que você cria durante a instalação. Essa é a maneira preferida de lidar com o acesso aos recursos do usuário root. A maneira antiga era criar um usuário root e fazer login como eles para gerenciar seu sistema.

Este era um cenário perigoso. Era fácil esquecer de sair e fazer login novamente como seu usuário regular, ou ficar com preguiça de fazer isso, quando você não precisava mais de privilégios de root. Qualquer erro que você cometeu na janela do terminal como root será executado, não importa quão drástico. Coisas que seriam bloqueadas pelo shell se um usuário normal tentasse fazê-las certamente seriam executadas quando solicitadas pelo root. Usar a conta root em vez de uma conta normal também é um risco de segurança.

Usar sudo concentra a mente. Você está entrando nas mesmas águas perigosas, mas está conscientemente escolhendo fazê-lo e espero que seja muito cuidadoso. Você só invoca seu estado de superusuário quando precisa fazer algo que precise deles.

Se você abrir o acesso root para outros usuários, você quer saber se eles estão sendo tão cuidadosos com eles quanto você. Você não quer que eles executem comandos de forma imprudente ou especulativa. A saúde e o bem-estar de sua instalação Linux dependem de usuários privilegiados se comportando com respeito e responsabilidade.

Aqui estão várias maneiras de monitorar seu uso de root.

O arquivo auth.log

Algumas distribuições mantêm um log de autenticação em um arquivo chamado "auth.log". Com o advento e a rápida adoção do systemd , a necessidade do arquivo "auth.log" foi eliminada. O daemon systemd-journal consolida os logs do sistema em um novo formato binário e journalctl fornece uma maneira de examinar ou interrogar os logs.

Se você tiver um arquivo auth.log em seu computador Linux, ele provavelmente estará no diretório /var/log/, embora em algumas distribuições o nome e o caminho do arquivo sejam /var/log/audit/audit .log. "

Você pode abrir o arquivo em less assim. Lembre-se de ajustar o caminho e o nome do arquivo para se adequar à sua distribuição, e esteja preparado caso seu Linux nem mesmo crie um arquivo de autenticação.

Este comando funcionou no Ubuntu 22.04.

 menos /var/log/auth.log

O arquivo de log é aberto e você pode navegar pelo arquivo ou usar as funções de pesquisa integradas do less para procurar "sudo".

Mesmo usando as funções de pesquisa de less , pode levar algum tempo para localizar as entradas sudo que lhe interessam.

Digamos que queremos ver para que chamadas um usuário mary usou sudo . Podemos pesquisar o arquivo de log com grep por linhas com "sudo" neles e, em seguida, canalizar a saída por meio de grep novamente e procurar linhas com "mary" nelas.

Anote o sudo antes do grep e antes do nome do arquivo de log.

 sudo grep sudo /var/log/auth.log | grep "maria" 

Isso nos dá linhas que têm "sudo" e "mary" nelas.

Podemos ver que o usuário mary recebeu privilégios sudo às 15:25 e às 15:27 ela abre o arquivo fstab em um editor. Esse é o tipo de atividade que definitivamente merece um mergulho mais profundo, começando com uma conversa com o usuário.

Usando diaryctl

O método preferencial em distribuições Linux baseadas em systmd Linux é usar o comando journalctl para revisar os logs do sistema.

Se passarmos o nome de um programa para journalctl procurará nos arquivos de log por entradas que contenham referências a esse programa. Como sudo é um binário localizado em "/usr/bin/sudo", podemos passá-lo para journactl . O -e (fim do pager) indica a opção journalctl para abrir o pager de arquivo padrão. Normalmente, isso será less . A tela rola automaticamente para baixo para mostrar as entradas mais recentes.

 sudo journalctl -e /usr/bin/sudo 

As entradas do registro com sudo são listadas em menos.

Use a tecla "Seta para a direita" para rolar para a direita para ver o comando que foi usado com cada uma das invocações do sudo . (Ou estique sua janela de terminal para ser mais larga.)

E como a saída é exibida em less , você pode pesquisar textos como nomes de comandos, nomes de usuários e carimbos de data/hora.

Usando o utilitário de log do GNOME

Ambientes de área de trabalho gráficos geralmente incluem um meio de revisar logs. Veremos o utilitário de log do GNOME. Para acessar o utilitário de logs, pressione a tecla “Super” à esquerda da “barra de espaço”.

Digite "registros" no campo de pesquisa. O ícone "Registros" é exibido.

Clique no ícone para iniciar o aplicativo "Logs".

Clicar nas categorias na barra lateral filtrará as mensagens de log por tipo de mensagem. Para fazer seleções mais granulares, clique na categoria "Todos" na barra lateral e, em seguida, clique no ícone de lupa na barra de ferramentas. Digite algum texto de pesquisa. Vamos procurar por "sudo".

A lista de eventos é filtrada para mostrar apenas os eventos relacionados ao domínio sudo . Um pequeno bloco cinza no final de cada linha contém o número de entradas naquela sessão de evento. Clique em uma linha para expandi-la.

Clicamos na linha superior para ver os detalhes das 24 entradas naquela sessão.

Com um pouco de rolagem, podemos ver os mesmos eventos que vimos ao usar o domínio journalctl . Sessão de edição inexplicável do usuário mary do arquivo fstab encontrado rapidamente. Poderíamos ter pesquisado por "mary", mas isso incluiria outras entradas além do uso de sudo .

Nem todo mundo precisa de acesso root

Onde houver um requisito genuíno e sensato, dar privilégios sudo a outros usuários pode fazer sentido. Da mesma forma, só faz sentido verificar o uso (ou abuso) desses poderes, especialmente logo após terem sido concedidos.

  • O Basilisk V3 Pro sem fio da Razer está finalmente aqui
  • O Android Auto não se conecta a smartphones selecionados após a atualização

descubra mais conteúdo

O que é um amplificador integrado?

Google Pixel Watch também tem detecção de queda, mas não até o próximo ano

As melhores xícaras de café aquecidas de 2022

Como automatizar seu iPhone com base na hora, atividade ou localização

"Isso deve ter sido antes do meu tempo"

Por que a NASA enviou Snoopy para a Lua? – Revisão geek

O programa sudo é um utilitário em sistemas operacionais do tipo Unix, como GNU/Linux, BSD, Mac OS X ou Mac OS 11, que permite aos usuários executar programas com segurança com os privilégios de segurança de outro usuário, tornando-se temporariamente no outro usuário. durante a execução do programa.

O que é ser sudo?

Do inglês "super user do" (super usuário do). É uma alternativa para executar comandos, como se fôssemos outro usuário (incluindo o usuário root), mas sob certas restrições estabelecidas na delegação de privilégios entre eles.

Como você usa sudo?

Para usar sudo na linha de comando, basta digitar " sudo " antes do comando que você deseja executar. O Sudo pedirá sua senha. O Sudo lembrará sua senha por um período de tempo (padrão 15 minutos).

Como configurar e usar o sudo?

Use o comando sudo sem senha

Na seção onde restringimos o uso do comando sudo , devemos inserir a palavra NOPASSWD: logo antes da parte do comando na qual indicamos os comandos que podem ser executados com sudo . Finalmente eu salvaria as alterações e fecharia o arquivo.

Como sudo um usuário?

Etapas para criar um usuário sudo :

  1. Faça login em seu servidor como usuário root. ssh [email protected]_ip_address.
  2. Use o comando adduser para adicionar um novo usuário ao seu sistema.
  3. Use o comando usermod para adicionar o usuário ao grupo sudo .
  4. Tente acesso sudo na nova conta.
Ir arriba