Pelas mesmas razões pelas quais cada daemon deve ter direitos mínimos. O Apache pode ser executado como root. Ele é projetado para executar uma tarefa e, certamente, nada de ruim pode acontecer?
Mas assuma que o apache não está livre de bugs. Bugs são descobertos de tempos em tempos. Às vezes, pode até ser uma execução arbitrária de código ou similar. Agora, com o apache sendo executado como root, ele pode acessar qualquer coisa - por exemplo, pode carregar um rootkit no kernel e se esconder.
Por outro lado, escrever um rootkit no nível do usuário é muito difícil. Ele precisa sobrescrever diferentes programas (como ps
) dentro de /home
, o que pode levantar suspeitas devido ao espaço extra em disco usado. Pode não saber a configuração exata e esquecer de incluir, por exemplo, gnome-system-monitor
, portanto, se expondo. Ele tem que cobrir bash
, tcsh
e qualquer shell que você use (para começar). Ele teria que trabalhar com configurações diferentes, em vez de simplesmente substituir um monte de retornos de chamada.
Considere que não há muito tempo houve execução de código arbitrário descoberto no ... Adobe Reader.
Outro motivo é erros do usuário. É melhor ser avisado antes de apagar o disco inteiro por um comando.
Terceira razão é diferente de shells. O shell raiz deve ser instalado em /
, caso o resgate do sistema precise ser executado. Os shells dos usuários podem ser instalados em /usr
(por exemplo, o usuário pode usar zsh).
O motivo é que programas diferentes não funcionam como root. Eles sabem especificamente que eles não devem, então você precisa corrigir o sistema.
A quinta razão é que /root
não deve estar em uma partição separada, enquanto /home
pode (e deveria). Ter /home
separado ajuda por vários motivos.
TAMBÉM : PORQUE NÃO USAR COMO USUÁRIO NORMAL. Você com mais frequência não precisa ter direitos de root do que fazer. É um custo muito pequeno para segurança.