Por que você não deve fazer login em seu sistema Linux como root

imagem

No Linux, o usuário Root é equivalente ao usuário Administrador no Windows. No entanto, embora o Windows tenha há muito uma cultura de usuários comuns fazendo login como administrador, você não deve fazer login como root no Linux.

A Microsoft tentou melhorar as práticas de segurança do Windows com o UAC – você não deve fazer login como root no Linux pela mesma razão que não deve desabilitar o UAC no Windows .

Índice

Por que o Ubuntu usa Sudo

Desencorajar os usuários de executar como root é uma das razões pelas quais o Ubuntu usa sudo em vez de su . Por padrão, a senha do root é bloqueada no Ubuntu, então os usuários comuns não podem se logar como root sem sair de seu caminho para reativar a conta root.

Em outras distribuições Linux, é historicamente possível fazer login como root na tela de login gráfica e obter um desktop root, embora muitos aplicativos possam reclamar (e até mesmo se recusar a rodar como root, como o VLC faz). Usuários vindos do Windows às vezes decidiam fazer login como root, da mesma forma que usaram a conta de administrador no Windows XP.

imagem

Com sudo, você executa um comando específico (prefixado por sudo) que obtém privilégios de root. Com su, você usaria o comando su para obter um shell de root, onde executaria o comando que deseja usar antes (esperançosamente) de sair do shell de root. Sudo ajuda a reforçar as práticas recomendadas, executando apenas comandos que precisam ser executados como root (como comandos de instalação de software), sem deixá-lo em um shell de root onde você pode permanecer conectado ou executar outros aplicativos como root.

Recomendado:  Nvidia lança drivers de GPU Linux de código aberto, com uma pegadinha

imagem

Limitando o dano

Quando você efetua login como sua própria conta de usuário, os programas que você executa são impedidos de gravar no resto do sistema – eles podem gravar apenas na sua pasta pessoal. Você não pode modificar os arquivos do sistema sem obter permissões de root. Isso ajuda a manter seu computador seguro. Por exemplo, se o navegador Firefox tivesse uma falha de segurança e você o estivesse executando como root, uma página da web maliciosa seria capaz de gravar em todos os arquivos do seu sistema, ler arquivos nas pastas iniciais de outras contas de usuário e substituir comandos do sistema por comprometidos uns. Em contraste, se você estiver conectado como uma conta de usuário limitada, a página da web mal-intencionada não será capaz de fazer nenhuma dessas coisas – ela só poderá causar danos à sua pasta pessoal. Embora isso ainda possa causar problemas, é muito melhor do que comprometer todo o sistema.

Isso também ajuda a protegê-lo contra aplicativos mal-intencionados ou apenas com bugs. Por exemplo, se você executar um aplicativo que decide excluir todos os arquivos aos quais tem acesso (talvez contenha um bug desagradável), o aplicativo limpará nossa pasta pessoal. Isso é ruim, mas se você tiver backups (o que deveria!), É bastante fácil restaurar os arquivos em sua pasta pessoal. No entanto, se o aplicativo tivesse acesso root, ele poderia excluir todos os arquivos do seu disco rígido, sendo necessária uma reinstalação completa.

imagem

Permissões refinadas

Enquanto as distribuições mais antigas do Linux executavam programas de administração de sistema inteiros como root, os desktops Linux modernos usam o PolicyKit para um controle ainda mais refinado das permissões que um aplicativo recebe.

Recomendado:  Cinco recursos ocultos do Amazon Echo que vale a pena conferir

Por exemplo, um aplicativo de gerenciamento de software pode receber apenas permissão para instalar software em seu sistema por meio do PolicyKit. A interface do programa seria executada com as permissões limitadas da conta do usuário, apenas a parte do programa que instalou o software receberia permissões elevadas – e essa parte do programa só seria capaz de instalar o software.

imagem

O programa não teria acesso root total a todo o sistema, o que poderia protegê-lo se uma falha de segurança fosse encontrada no aplicativo. O PolicyKit também permite que contas de usuário limitadas façam algumas alterações na administração do sistema sem obter acesso root completo, tornando mais fácil executar como uma conta de usuário limitada com menos complicações.


O Linux permitirá que você se logue em uma área de trabalho gráfica como root – assim como permitirá que você apague todos os arquivos do seu disco rígido enquanto o sistema está em execução ou grave ruído aleatório diretamente no disco rígido, obliterando o sistema de arquivos – mas não é é uma boa ideia. Mesmo se você souber o que está fazendo, o sistema não foi projetado para ser executado como root – você está contornando grande parte da arquitetura de segurança que torna o Linux tão seguro.