Por que é ruim executar como root?

9

Eu sempre me deparo com posts em fóruns ou outros sites em que você vê pessoas brincando de maneira a executar / fazer login como root, como se isso fosse algo horrível e todo mundo deveria saber disso. No entanto, não há muito que uma pesquisa revele sobre o assunto. Talvez seja amplamente conhecido pelos especialistas em Linux, mas eu realmente não sei por quê. Lembro-me de sempre ter rodado como root quando tentei o Linux anos atrás (Redhat e Mandrake) e não me lembro de ter problemas por causa disso. Na verdade, existem algumas distros que têm um fundo vermelho brilhante com sinais de alerta por todo o lado como papel de parede para o usuário root (Suse?). Ainda uso a conta "Administrador" para uso regular na instalação do Windows e também nunca tive problemas.

Mussnoon
fonte

Respostas:

9

Esses usuários têm acesso administrativo ao sistema, um nível de permissão que permite a eles e aos aplicativos executados contornar os mecanismos de proteção (como permissões do sistema de arquivos), permitindo que eles façam tudo no sistema. O software malicioso adora acesso irrestrito.

Como um exemplo simples,

sudo rm -rf *

excluirá praticamente tudo em um sistema Linux, se você estiver no diretório raiz. Não precisa ser tão óbvio como isso, nem mesmo malicioso. Algo como variáveis ​​inesperadamente indefinidas em scripts que exigem privilégios de root podem causar problemas graves:

rm -rf $destinationDir/*

# if the variable is undefined and the shell doesn't care, the result is:
rm -rf /*

Às vezes, é um erro de digitação simples em um script que exclui metade do seu sistema.

Portanto, a recomendação geral é usar programas de execução apenas com permissões elevadas, se for realmente necessário.

Daniel Beck
fonte
3
Em resumo: é muito perigoso.
digitxp
Só de olhar para esse comando faz meu estômago revirar.
Paul Lammertsma
4

A raiz no linux é ainda mais poderosa que uma conta de administrador no Windows. É comparável à conta SYSTEM no Windows, que normalmente não está acessível.

user54114
fonte
0

Seria o equivalente a desabilitar completamente o UAC e executar como administrador para todos os usuários em uma caixa do Windows. O malware pode ser instalado com mais facilidade, o drive de downloads é mais eficaz, se houver uma penetração, eles agora são o deus no seu computador. Você apenas remove efetivamente privilégios de usuário (geralmente práticas inadequadas). imho, se você não teve um problema, teve muita sorte, tem hábitos de navegação incrivelmente seguros ou o mais provável ... teve um problema e não o conhecia.

RobotHumans
fonte
Que tipo de problemas eu poderia ter (e já tenho no Windows) e não saber?
Mussnoon 04/04/10
Você pode não detectar alguns tipos de rootkits que não exigem muito do processador ou do disco (como pesquisar em um site com um único get / post a cada 2 minutos para fazer parte de um DDoS). Outras possibilidades incluem lentamente procurando o disco para dados relacionados PCI (números de cartão de crédito)
RobotHumans
0

Eu tenho (pelo menos duas vezes) scripts escritos que deveriam navegar na estrutura de diretórios de uma maneira específica e executar rm -rf *em algum diretório. Houve algum erro, e o script acabou indo para o "/"diretório (root) e executado rm -rf *. É claro que este é o exemplo do pior tipo, mas scripts ou comandos malignos ainda menores podem causar sérios danos ao seu sistema se estiverem sendo executados como root.


fonte
Para scripts (especialmente aqueles que devem ser executados com privilégios de root), você deve usar redes de segurança como "rm -rf / full / path / to / target / dir / *" ou "cd / some / inexistente / diretório / | exit 1" .
0

Além dos poderes que o acompanham e, portanto, dos efeitos dos erros, ele também vem sem nenhum aviso. E são os avisos que alertam sobre coisas inesperadas.

Como ao executar uma GUI como raiz: como você saberia que algum malware tentou se instalar?

Arjan
fonte
0

Você tem o triste infortúnio da Microsoft e antivírus que lidam com o problema. A conta de administrador (raiz) deve ter acesso irrestrito (conforme declarado por todos). Ele não pode apenas modificar os arquivos do sistema, resultando em uma máquina que não pode inicializar, mas pode acessar outros dados do usuário (as permissões do usuário não são suficientes para proteger o acesso e a modificação de dados quando o acesso físico ao computador está disponível). Agora vamos ao que você não "vê".

É uma prática lamentável sempre executar uma máquina Windows como administrador. Existem boas razões para isso, como a capacidade de se tornar outro usuário em uma sessão sugada (a instalação do programa exigiria o logout e o login como administrador e a instalação do aplicativo, que pode até exigir a execução do administrador). O resultado é que seu computador é usado para coisas que você não esperava, mesmo se você não instalou o aplicativo.

O resultado não é que as pessoas estão deixando de executar como Admin, mas a Microsoft está trazendo o controle de permissão para a estrutura subjacente do UAC do sistema operacional. O que isso significa é que você é solicitado a dar permissão ao aplicativo para executar, não importa quem você é. O Vista era muito ruim porque tinha duas camadas para usuários Admin: "Deseja executar este programa?", "Ok, agora que você está executando este programa, gostaria de deixá-lo em execução?"

No Linux, você vê uma filosofia muito diferente. Primeiro, o sistema operacional faz o que você manda, sem uma verificação dupla de que realmente pretendia executar um aplicativo. Segundo, o usuário não consegue fazer o que quiser com o sistema. Isso significa que o sistema está protegido contra erros do usuário, mas o usuário sempre pode escalar suas permissões para o nível adequado, se desejar. A Microsoft basicamente criou uma camada de escalação de permissões separada da camada do usuário. O Linux / Unix sempre teve um design para escalar as permissões que funcionavam com os usuários.

he_the_great
fonte
0

No linux, geralmente evita que você (ou um aplicativo agindo em seu nome) acidentalmente faça algo idiota.

No Windows, você não pode instalar muitos tipos de software sem executar uma conta como administrador, porque não possui acesso de gravação aos arquivos do programa ou às pastas do Windows. Os piores tipos de malware precisam ser capazes de gravar nessas áreas para invadir seu sistema.

Se você não estiver executando como administrador e visitar um site comprometido que tentar instalar algo como um keylogger oculto para roubar senhas, informações bancárias ou números de cartão de crédito, essa instalação provavelmente falhará. Se você estiver executando como administrador, essa instalação terá uma chance muito maior de êxito. O mesmo princípio se aplica aos sistemas Linux.

A chave aqui é que o software antivírus nem entra em ação. Atualmente, o software antivírus é sua última linha de defesa, não a sua primeira. A ordem de importância que eu uso para avaliar as medidas de segurança é assim:

  1. Mantenha seu sistema (incluindo software aplicativo) atualizado
  2. Não execute como administrador
  3. Use outros hábitos seguros da Internet
  4. Executar um firewall
  5. Tenha um bom backup offline (nesse caso, offline significa "não acessível ao seu sistema de arquivos normal", o que pode realmente significar o uso de um serviço online)
  6. Execute o software antivírus

De fato, se você estiver executando o suficiente dos outros itens corretamente, o software antivírus não será realmente necessário. Mas o importante aqui é que executar como administrador é um não-não.

Felizmente, agora é o estado padrão no Windows 7. Mesmo que sua conta tenha privilégios de administrador, ela ainda será executada em "área restrita" e apenas lhe dará o direito de elevar para um aplicativo específico sob demanda.

Joel Coehoorn
fonte