Preocupação com o login como raiz superestimada?


16

Para o linux pessoal em meus notebooks pessoais, normalmente defino meu ambiente para autologin como root, mesmo em níveis de execução X ou inferiores. Eu encontrei o meu trabalho é muito agradável e rápido, sem qualquer necessidade pesado para digitar suou sudoou ser perguntado por keyring ou auth ou algo assim.

Até agora, eu nunca tive nenhum problema com isso, então por que a maioria das pessoas está pirando com isso? A preocupação é superestimada? Obviamente, isso pressupõe que o usuário sabe o que está fazendo e realmente não se importa com a confiabilidade do sistema e os problemas de segurança.


4
por que executar como root? se você realmente não quiser digitar sudo, sugiro editar /etc/sudoerse adicionar alguns comandos como nopasswd (nem todos), em seu ~/.bashrc(ou arquivo de alias) adicione aliases a sudo command. Provavelmente ainda não é uma boa ideia, mas limitará o dano que você pode causar ou ter causado a você.
Xenoterracide

11
O nível de hostilidade nesse segmento é um pouco preocupante; é uma pergunta legítima. Sim, rodar como root o tempo todo é uma péssima idéia, mas não há necessidade de mudar isso
Michael Mrozek

5
@Mrozek: Concordou. Agora, eu nunca daria a senha de root do OP a qualquer sistema que eu tivesse controle, mas lixeira do sistema digitando a coisa errada pode ser muito educativa. Talvez a escrita do OP "Até agora nunca tive nenhum problema com ele" aprenda algo útil, como o fato de que as coisas podem acontecer pela primeira vez.
David Thornley

2
Eu acho que isso resume por que não: unix.stackexchange.com/questions/502/...
Alex B

3
Para trazer uma analogia para o carro: é como dirigir sem cinto de segurança. Possível, mas potencialmente mortal.
Invertido

Respostas:


33

Pelas mesmas razões pelas quais cada daemon deve ter direitos mínimos. O Apache pode ser executado como root. Ele foi projetado para executar uma tarefa e certamente nada de ruim pode acontecer?

Mas suponha que o apache não esteja livre de erros. Erros são descobertos de tempos em tempos. Às vezes, pode até ser execução arbitrária de código ou similar. Agora, com o apache rodando 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 substituir diferentes programas (como ps) por dentro /home, o que pode gerar suspeitas devido ao espaço em disco extra usado. Pode não saber a configuração exata e esquecer de incluir, gnome-system-monitorportanto, expondo-se. Ele tem que cobrir bash, tcshe qualquer shell acontecer de você usar (para começar a si mesmo). Teria que trabalhar com configurações diferentes, em vez de "simplesmente" substituir um monte de retornos de chamada.

Considere que não faz muito tempo, a execução arbitrária de código foi descoberta em ... Adobe Reader.

Outro motivo é erros do usuário. É melhor ser avisado antes de apagar o disco inteiro por um comando.

Terceira razão é conchas diferentes. O shell raiz deve ser instalado /caso o resgate do sistema precise ser executado. Os shells dos usuários podem ser instalados /usr(por exemplo, o usuário pode usar o zsh).

A quarta razão é que programas diferentes não funcionam como raiz. Eles sabem especificamente que não deveriam, então você precisaria corrigir o sistema.

Quinta razão é que /rootnão deve estar em uma partição separada enquanto /homepode (e deve). Tendo /homeajuda separada por várias razões.

TAMBÉM : POR QUE NÃO USAR COMO USUÁRIO NORMAL. Com mais freqüência, você não precisa ter direitos de root. É um custo muito pequeno para segurança.


3
O fato de que, como root, ddpode fazer qualquer coisa com qualquer dispositivo de bloco no sistema, combinado com o fato de que é possível que o root faça muita intromissão, intencional e não intencional, com o kernel e o sistema em / dev e / proc o suficiente para convencer alguém a não rodar como root, a menos que seja necessário.
LawrenceC

29

Você também pode andar de moto nua, e nada pode acontecer. Mas aposto que você se sentiria melhor se batesse a bicicleta ...


7
talvez, mas pense na sensação de que você terá o resto do tempo!
Sirex

12

Além do ponto óbvio de segurança, é claro que você nunca utilizou seu sistema digitando incorretamente um comando no shell ou em um lapsus. Se isso acontecer, você entenderá por que as pessoas surtam com isso. E então você vai chorar de horror e também perceber que foi uma experiência altamente educacional, mas você não está recuperando seu sistema de qualquer maneira.

Um pensamento: se você for solicitado a senha root durante o uso normal do seu sistema (por exemplo, não instalar pacotes ou alguma outra tarefa de administração do sistema), estará fazendo errado .


+1 por me lembrar de algumas experiências antigas. Ou deveria ser -1 para trazê-los de volta?
David Thornley

5
Eu nunca entendi por que as pessoas acreditam que o uso do sudo impede erros de digitação. O último sistema que utilizei alguns anos atrás foi um sudo rm -rf / dir / job.
Sirex

4

Não, não é superestimado. Na prática, é muito subestimado. :-)

Minha pequena equipe de trabalho, por exemplo, está compartilhando uma máquina RHEL para o trabalho de desenvolvimento: construção de coisas, testes etc. Isso também resultou em conseguirmos mangueira do sistema operacional algumas vezes em sua curta vida útil. Alguém construindo uma certa versão do libc removeu o libc do sistema por umrminvocação. Em outro incidente curioso, a tabela de partição estava ausente. (Ok, isso não teve nada a ver com privilégios.) O restante da equipe é bloqueado até que a quebra seja corrigida. Uma solução é ter alguém voluntário para assumir as tarefas sysadmin. Até este ponto, não nos importamos muito, exceto para permitir que as pessoas aprendam suas lições: todos nós precisamos de algumas marcas de dentes nas extremidades traseiras, e essas são marcas de dentes relativamente baratas.

Os realmente curiosos podem querer seguir o princípio do menor privilégio e ler o artigo de Ken Thompson, "Reflections On Trusting Trust". ("A moral é óbvia. Você não pode confiar no código que não criou totalmente a si mesmo.")


3

Pegando um comentário seu para outra resposta

mas o linux é sobre liberdade, incluindo liberdade para destruir seus próprios dados, privacidade e segurança

Mesmo forçando as pessoas sudo, o Linux oferece essa liberdade. Todo o argumento de segurança que você deseja evitar está lá para protegê-lo das coisas, não é você (leia-se: programas maliciosos ou programas controlados por pessoas maliciosas).

Pense nisso como um cinto de segurança. Leva um segundo para usar. Poderia salvar sua vida de outros idiotas por aí (assim como você).

Se você não quiser digitar sua senha o tempo todo, sudoedit /etc/sudoersmas se continuar executando como root, um dia provavelmente executará algo que destrói seu sistema e todos os seus dados.

Se você está feliz sabendo que mesmo algo tão ruim como o Flash pode reformatar o computador, ninguém aqui se importa com o que você faz. Execute como root.


2
Não apenas programms maliciosos, aqueles de buggy também (por exemplo, havia um bug no sistema de compilação do kernel em um ponto que metralhado seu sistema se você fez suas compilações de kernel como root)
Spudd86

2

Por que não executar o Damn Vulnerable Linux como seu sistema principal enquanto você está nisso? Se você vai ignorar a segurança do sistema, também pode ignorar tudo isso ...


Computador tecnicamente com root como usuário principal pode ser teoricamente garantidos ...
Maciej Piechotka

3
@ Maciej, o único computador seguro está desconectado, envolto em concreto no fundo de um lago.
Xenoterracide

Como Mitnick apontou, alguém pode tirá-lo do lado de fora do lago, quebrar concreto e conectar-se (oh. Ele apenas disse que alguém pode conectar um computador desconectado usando técnicas sociotécnicas, mas o princípio é o mesmo). Tentei tomar cuidado ao usar 'tecnicamente' e 'teoricamente' - também o bloqueio ruim é melhor do que o bloqueio não. Por exemplo, eu considero a minha corrente suficiente sistema seguro apesar da falta de SELinux sobre ele;)
Maciej Piechotka

@Marciej bem, segurança é tudo sobre análise de custo / risco. você nunca coloca mais segurança em torno de algo do que vale a pena.
Xenoterracide

11
@ Marciej e se não vale nada, não faz sentido colocar nenhuma segurança nele, nesse ponto não importa a vulnerabilidade.
Xenoterracide

1

Você está falando de um sistema operacional que é o esforço colaborativo de inúmeras pessoas. Se você executar nada além de software estável, você PODE estar seguro por um tempo.

Como mencionado anteriormente, você ficaria surpreso com o tamanho de uma coisa que pode prejudicar todo o seu HD. No meu primeiro ano, tentei rodar muito no root porque, bem, nos dias do Fedora-core 3, não havia tantas maneiras sofisticadas de administrar seu sistema a partir do usuário.

Na época, fiz uma pequena edição do xorg sem fazer backup, porque não achei que fosse doer. Desktop desaparecido. Então tentei consertá-lo manualmente, mas não consegui descobrir exatamente o que havia feito. Mais tarde, pensei que talvez pudesse reinstalar meus drivers e minha área de trabalho, mas desconectado inadvertidamente minha ethernet, pois também era nvidia.

Ao executar o Arch pela primeira vez, ignorei os avisos para criar um usuário e executei como administrador por um tempo. Eu instalei um pacote do AUR que eu precisava e depois que reiniciei, toda a minha instalação foi interrompida.

Desde que eu estava na raiz, corrigir esses problemas se tornou muito pior do que eles precisavam ser.

Você pode concluir que eu era apenas incompetente. Mas como outros mencionaram ... digitar "sudo" é um preço pequeno a pagar por um pouco de tranquilidade.

EDIT: Ah ... e certos programas, como o WINE, não devem ser executados expressamente em um ambiente raiz. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014


1

Razões de segurança - uma vulnerabilidade de daemon ou script direcionada ao Linux teria o poder do Sysadmin sobre o seu sistema.

Executar como um usuário simples E usar o sudo é muito diferente em termos de segurança. Meu Firefox está sendo executado como usuário, portanto, qualquer vulnerabilidade do Firefox atingirá apenas minha conta. Nada mais.


0

Concordo com Maciej pela preocupação com a segurança e pelo controle de certos poderes. Além disso, como você é o proprietário do seu sistema, você pode desativar essa funcionalidade, se desejar;) a escolha é sua.


-4

Não vejo nenhum grande problema ao fazer login como root em uma sessão normal, desde que você não faça nada estúpido.

Eu não faço isso pessoalmente, porque, ocasionalmente, faço algo bobo. Nunca percebi que algo estúpido que fiz foi potencialmente um grande problema, mas não sou arrogante o suficiente para pensar que nunca faria algo realmente estúpido.


8
o uso de um navegador da Web constitui algo estúpido?
Xenoterracide

4
@xenoterracide: Constitui algo estúpido se você estiver logado como root, eu diria.
David Thornley

2
@ David eu sei que;) isso é meio ponto
xenoterracide
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.