Para fazer root ou não fazer root?

3

Consulte o (um pouco) tópico relacionado aqui .

Minhas tarefas do dia-a-dia em uma máquina linux exigem acesso de superusuário já que eu estaria (re) iniciando serviços, monitorando o sistema, (des) instalando coisas etc.

Algum tempo atrás, eu fui insultado / ridicularizado em uma sessão de IRC (como seria de se esperar), porque eu estava logado como root para instalar o ruby.

Aparentemente, é normal * instalar serviços sendo root, mas não os serviços para funcionar a partir de uma conta root. Isso é compreensível - você não quer violações de acesso, digamos, no apache, para permitir privilégios de root.

* que contradiz as pessoas incríveis no IRC ...... vá em frente.

Então, a questão principal, eu acho, é por que instalar instruções para muitos serviços (ultimamente, visto em nodejs, ruby e cloud9ide), assumir que você não é root ao instalá-los?

Por exemplo, somente na semana passada, instalei o cloud9ide, mas não consegui fazê-lo funcionar, pois ele me proibiu especificamente de executá-lo como root. No entanto, ninguém em nenhum lugar menciona nada sobre isso. Corrigi este problema executando:

su -s /bin/sh apache -c "node /var/www/cloud9/server.js -l 192.168.1.117 -p 3131 -w /var/www/html"
    
por Christian 13.07.2012 / 16:48

3 respostas

5

Além dos motivos já mencionados,

Em um ambiente grande o suficiente para ter vários administradores de sistema para um único host ou grupo de hosts, o sudo permite a responsabilidade que o compartilhamento da conta raiz não faz.

    
por 13.07.2012 / 22:27
3

Como você percebeu, certas coisas exigem privilégios de root. Quando você precisar deles, você deve usá-los.

É perfeitamente bom usar root quando você sabe o que os comandos que você está executando farão, e que eles não terão efeitos colaterais inesperados.

Baixar software para a Internet e compilá-lo é potencialmente perigoso. Pode ser buggy, ou ter intencionalmente comandos maliciosos. Um makefile pode ter um comando rm -rf , por exemplo. Ou talvez alguma outra parte do script de construção tenha algum bug desconhecido que destruiria seu sistema. Esse mesmo raciocínio pode ser usado igualmente para incentivar você a não compilar softwares não testados em sistemas de produção. Você deve estar construindo e testando pacotes em um ambiente de teste onde isso realmente não importa.

Você pode seguir uma lista de verificação simples ao exercer seus privilégios de root. Se você não puder responder sim a três desses itens, provavelmente não deveria estar usando root.

  • O comando exige privilégios de root
  • Você compreende completamente o que o comando fará.
  • Você tem backups ou a capacidade de desfazer se / quando algo quebrar

Então, em uma máquina virtual, que você acabou de tirar um instantâneo em você, provavelmente pode fugir de ser muito indiscriminado com seus privilégios de root. Em um servidor de produção com muitos serviços críticos, você precisaria ser muito mais cauteloso quanto ao uso de privilégios de root.

Como tudo relacionado à segurança, é tudo sobre o nível de risco. Você tem que fazer uma determinação inteligente sobre o risco potencial em comparação com a quantidade de esforço / recompensa. Existem lugares onde você quase nunca deveria usar root, e há casos em que usar root para compilar as coisas provavelmente não tem nenhum risco associado a ele.

    
por 13.07.2012 / 21:54
1

As instruções estão tentando supor que os leitores devem seguir as 'melhores práticas' implícitas, o que implica não estar logado como root.

Esses tipos de tutoriais / instruções têm uma parte de seu público-alvo que apenas copia e cola os comandos, ou tem conhecimento suficiente para criar uma bagunça real.

É importante condicionar os iniciantes a seguir essas práticas recomendadas para sua própria proteção (e sentimentos, se forem para o IRC).

Há coisas que são certas a esse respeito:

  • Todo mundo que usa o root diretamente irá dedilhar um comando e ele vai bagunçar algo em massa em algum momento. (Isso não quer dizer que os usuários do 'sudo' são imunes, apenas menos prováveis, e pode haver limites para esses danos).

  • A maioria dos usuários que ignoram as práticas recomendadas e acabam digitando com dedinhos não tem ideia de como desfazer sua nova bagunça.

  • Esse usuário provavelmente abordará um fórum de ajuda ou um canal de IRC pedindo ajuda e, assim, será ridicularizado como root.

por 13.07.2012 / 17:26