Quando instalei o Linux pela primeira vez no meu computador, sempre gostei de usar root, pois não precisava adicionar sudo
e digitar a senha toda vez que executava um comando que precisava de permissões de root.
Então, um dia, eu só queria remover um diretório e executei o rm -rf /
, então meu sistema quebrou. Eu me pergunto por que os designers do Linux não proibiram um comando tão perigoso.
Responder1
Por que não deveria permitir que você faça o que quiser em seu próprio computador? Fazer login como root
ou usar sudo
é dizer à máquina: “Eu sei o que estou fazendo”. Impedir que as pessoas façam coisas duvidosas geralmente também as impede de fazer coisas inteligentes,conforme expresso por Raymond Chen.
Além disso, há um motivo excepcionalmente bom para permitir que um usuário incendie o diretório raiz: descomissionar um computador apagando completamente o sistema operacional e o sistema de arquivos. (Perigo!Em alguns sistemas UEFI, rm -rf /
podebloquear a máquina física também.) Também é uma coisa razoável de se fazer dentro de umchroot
cadeia.
Aparentemente, as pessoas acidentalmente executaram tanto o comando que um recurso de segurança foi adicionado: rm -rf /
não faz nada na maioria dos sistemas, a menos que --no-preserve-root
também seja fornecido, e hásem chancevocê pode digitar issopor engano. Isso também ajuda a proteger contrascripts de shell mal escritos, mas bem intencionados.
Responder2
DR:A resposta mais simples seria: por que não? É apenas mais uma funcionalidade, uma ferramenta que o sistema operativo disponibiliza. Você usa por sua própria conta e risco, sabendo o que está fazendo.
Explicação
Usar root como seu usuário é ummuito má ideia, já que tudo que você executa é executado com privilégios elevados, uma enorme falha de segurança.
Por exemplo, se você baixou um programa malicioso ou se o software instalado em seu computador contiver algum bug crítico, isso poderá causar danos devastadores aos seus arquivos e até mesmo ao seu hardware.
Mesmo que você tenha preguiça de escrever sudo
muitas vezes, existem alguns comandos como sudo -i
, que você pode usar por um tempo e depois retornar ao status normal de privilégios. Mas eu não recomendaria isso, a menos que você tenha mais experiência no uso do terminal.
No entanto, isso não é atribuível ao Linux nem aos seus desenvolvedores. Na verdade, como afirmou @DanielB,O Windows também permite isso. Você tem a liberdade e as ferramentas para fazer isso, mas isso não significa que seja necessário.
Existem pacotes que impedem você de rm
acessar seu diretório raiz, comoSafe-rm. Essa pode ser uma boa escolha se você acha que há risco de isso acontecer novamente.
Outras soluções e soluções alternativas, como rm
o parâmetro de --preserve-root
são discutidas emessePergunta de falha do servidor.