Por que o Ubuntu não permite que os usuários da GUI efetuem login como root no momento do início do sistema como administrador no Windows?
Por que eles estão nos restringindo a fazer login apenas através do terminal?
Por que o Ubuntu não permite que os usuários da GUI efetuem login como root no momento do início do sistema como administrador no Windows?
Por que eles estão nos restringindo a fazer login apenas através do terminal?
Respostas:
Porque não é recomendável fazer isso, a menos que você saiba exatamente o que está fazendo. Raiz é um superusuário, o que significa que pode fazer tudo e qualquer coisa - destina-se apenas a tarefas administrativas. As tarefas do dia-a-dia podem arcar com um risco de segurança que SERÁ explorado se TODOS (ou uma grande proporção de usuários) usarem raiz. Pense no Windows - 99% dos problemas de malware e vírus são de pessoas que usam contas de administrador para tarefas diárias.
Vejamos um exemplo.
E se alguém invadir o seu sistema e pedir para apagar seus discos? Se você estiver executando como um usuário normal, os únicos arquivos que você (deverá) poderá remover são aqueles que pertencem a você e não a mais ninguém. Se, por exemplo, você tiver outras pessoas usando o computador, os arquivos deles não serão tocados, por mais que você tente. Isso significa que você não poderá alterar nenhum arquivo do sistema e, portanto, seu sistema permanecerá sólido e não será afetado / não infectado.
Se você executar como root, no entanto, poderá limpar completamente o disco rígido, provavelmente danificar o próprio hardware e, geralmente, inutilizar o sistema. Correção: qualquer pessoa que possa executar um único comando como root no seu computador (algum site malicioso ou um anexo de email) pode fazer isso.
Dê uma olhada em http://everyjoe.com/technology/explain-why-not-log-on-as-root/ , é um bom artigo que pode explicar melhor do que eu.
EDIT: aqui está outro http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html
EDIT2: você sempre pode usar sudo command
ou gksu command
executar o command
como superusuário, ambos funcionam com utilitários gráficos e de linha de comando. sudo
normalmente é usado para a CLI e gksu
é a senha gráfica promt que faz a mesma coisa.
Até certo ponto, eles permitem que você se torne root
temporariamente - muito, muito melhor do que executar como root constantemente e arriscar a instabilidade.
No Ubuntu padrão, root
logins não são permitidos, nem no gerenciador de login GDM (gráfico), nem no console de texto (ou seja, o que você obtém se pressionar Ctrl+ Alt+ F1).
Para executar root
operações (ou seja, administrador), é necessário usar o sudo
comando em um terminal ou qualquer GUI equivalente: eles solicitarão sua senha e, em seguida, executarão a operação privilegiada solicitada (e somente essa).
A razão para esse comportamento é, como outros salientaram, que a execução de root
operações é inerentemente arriscada e o número de operações que realmente exigem root
privilégios é comparativamente pequeno: usando essa sudo
abordagem, você está executando a maior parte do tempo com uma conta não privilegiada (ou seja, inofensiva para o sistema e outros usuários) e apenas obtenha os root
poderes quando for realmente necessário.
Um exemplo pode ajudar a esclarecer. Suponha que você deseja instalar um novo serviço (daemon) em sua máquina; isso é relativamente novo e você precisa ler sobre isso e como configurá-lo para suas necessidades. Você acabará navegando muito na Web para encontrar informações, configurações de exemplo, etc., talvez tenha algum bate-papo no IRC para solicitar mais informações - nada disso requer root
poderes! No final, você só precisa de acesso privilegiado para duas operações:
sudo apt-get install ...
) eUm princípio comumente aceito em segurança de computadores é sempre usar o menor nível de privilégio possível para executar uma operação. - isso reduz o risco de que algo ruim aconteça devido a erros no software ou erros do operador.
A configuração padrão do Ubuntu segue nesta direção; se você estivesse usando um root
login, acabaria navegando na Internet, fazendo o IRC (e possivelmente todas as outras coisas que se faz simultaneamente) a partir da root
conta, expondo desnecessariamente o sistema a uma ameaça.
Atualização: Para o seu exemplo de compilador, eu continuaria desta maneira:
Entre no nó via SSH como seu usuário comum e em outro nó do Ubuntu ou GNU / Linux onde você tem uma exibição gráfica X11 em execução. Certifique-se de ativar o encaminhamento do X11 pelo SSH:
ssh -X myuser@remotemachine.example.org
No prompt shell / SSH, emita o comando:
sudo /path/to/the/compiler/install/program
Isso executará o instalador do compilador com root
privilégios e acessará (através do encaminhamento SSH) a exibição gráfica à sua frente.
O raciocínio por trás do uso do sudo no Ubuntu pode ser encontrado aqui . Se você precisar de uma maneira rápida de "enraizar" eu uso sudo -s
ou sudo -i
.
Além das montanhas de avisos com o uso do root, você pode ativar o login root efetuando login e executando o seguinte no terminal:
sudo passwd
Isso primeiro solicitará sua senha e solicitará que você altere a senha do UNIX. A senha que você digitar será para a root
conta.
O Ubuntu Wiki tem um ótimo artigo sobre as profundezas de root e sudo no Ubuntu - advertências e armadilhas.
Há duas perguntas aqui. Uma é: por que o login root é desativado por padrão no Ubuntu? Isso foi abordado por várias das postagens aqui.
A segunda pergunta é: por que os logins de raiz gráficos são particularmente depreciados?
Todas as desvantagens de logins raiz não gráficos também se aplicam a logons raiz gráficos. Mas quando você faz login graficamente, executa muito mais programas, operando de uma maneira muito mais complexa, do que quando faz login não graficamente. Toda a interface gráfica com o usuário e todos os programas gráficos necessários para usar uma GUI efetivamente seriam executados como raiz. Uma pequena vulnerabilidade de segurança em qualquer um deles permitiria que alguém assumisse o controle completo do seu sistema.
O login como root não é recomendado no Ubuntu, mas não há consenso na comunidade de segurança de que seja universalmente uma má prática. Os logins de raiz gráficos, no entanto, são simplesmente uma prática ruim e quase todos os sistemas operacionais os eliminaram gradualmente ou recomendam fortemente contra eles.
Em menor grau, ter um usuário não raiz (especialmente um com a capacidade de executar operações como raiz com sudo ou PolicyKit) em um logon gráfico apresenta riscos. Mas eles são muito mais controlados do que quando tudo no ambiente gráfico deve realmente estar funcionando como raiz com recursos ilimitados. Ainda assim, para situações em que a segurança é primordial, geralmente é aconselhável eliminar completamente as interfaces gráficas, e é por isso que o Ubuntu Server não é fornecido com uma GUI por padrão e recomenda oficialmente a instalação de uma (embora seja suportado) .
No mundo Windows, agora você pode instalar o Windows Server de uma maneira que elimina essencialmente a interface gráfica do usuário (tecnicamente, alguns elementos permanecem, mas são muito simplificados e você não pode executar programas gráficos arbitrários). Isso é baseado no mesmo raciocínio.
Mesmo se você decidir ativar logins raiz, não faça o login graficamente como raiz. A ativação de logins raiz pode colocar você em um risco de segurança um pouco maior; executar um ambiente gráfico inteiro como raiz coloca você em um risco muito maior.
Além disso, com exceção das ferramentas gráficas de administração projetadas para serem executadas como root no gksu / gksudo / kdesudo, a maioria dos programas gráficos não se destina à execução como root. Como eles não são extensivamente testados nesse modo, eles podem falhar ou se comportar erraticamente (o que seria particularmente ruim, pois eles estão executando como root ).
Finalmente, mesmo algumas ferramentas gráficas de administração, comousers-admin
, falharão se executadas como raiz, pois esperam ser executadas por usuários normais e executam ações como raiz (sem nunca serem executadas como raiz) usando o PolicyKit.
Abra o Terminal ( Ctrl+ Alt+ Tou Página inicial do Dash> Mais aplicativos> Instalado (Expandir)> Terminal).
PARA ATIVAR A CONTA DE RAIZ
Em um terminal digite ou cole sudo passwd root
. Digite sua senha de login normal (se você for solicitado), será solicitado que você digite a nova root
senha e confirme.
PARA ADICIONAR UM NOVO PROMPT DE LOGIN QUE PERMITE ENTRAR NA RAIZ E NA SENHA
Em um terminal digite ou cole. gksudo gedit /etc/lightdm/lightdm.conf
. Isso abre uma janela gráfica do editor de texto onde você pode editar o arquivo de configuração para a tela de login.
Adicione a linha greeter-show-manual-login=true
na parte inferior do arquivo.
O arquivo agora deve ter a seguinte leitura:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
Salve o lightdm.conf
arquivo e saia do gedit.
Reinicie o Ubuntu 12.04 e você verá uma nova janela "Login" (substitui a janela "Other" anterior) que permite a entrada de nome de usuário e senha. Digite root
o nome de usuário e a senha que você atribuiu à conta raiz.
Espero que isso ajude outras pessoas que precisam / desejam root
acessar.
quanto ao ubuntu 12.04 LTS, você pode fazer isso usando o privilégio root:
echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf
Em seguida, é solicitado que você digite o nome de usuário e a senha para fazer login graficamente. Eu suponho que você já tenha definido a senha para root :)
Eu sei que existem inúmeras razões para você não fazer login diretamente como root; no entanto, existem alguns casos raros (por exemplo, em uma caixa de teste em execução no vmware) quando você realmente apreciava a conveniência de ser root.
Porque o usuário root e o administrador (no Windows) são equivalentes a um Deus em um computador. Esse usuário pode ajustar qualquer coisa, de permissões de arquivo até a exclusão de todo o sistema de arquivos. É bastante comum o usuário doméstico médio executar como Administrador (com esse nome ou outro nome configurado na primeira inicialização). Como qualquer programa executado como esse usuário é amplo no sistema, ele se torna perigoso.
A falta de controle sobre os privilégios administrativos permite vírus / malware ou mesmo problemas autodestrutivos. É por isso que muitas distros, incluindo o Ubuntu, limitaram a transição para a alta potência em uma etapa extra (uma etapa cognitiva que ajuda a insistir em que "quaisquer alterações que eu fizer aqui são de maior abrangência").
Embora você não possa efetuar login diretamente como raiz (pelos motivos que outras pessoas já explicaram bem), é possível executar aplicativos da GUI como raiz. Por exemplo, Sistema → Administração → Synaptic Package Manager é um aplicativo gráfico que é executado como root.
Para executar um aplicativo como raiz (um aplicativo de texto ou um aplicativo GUI), basta usar um destes comandos:
sudo name-of-the-application
gksu name-of-the-application
Eles são quase idênticos. A principal diferença é que o primeiro solicita sua senha no terminal, o segundo utiliza uma janela de diálogo gráfica.
sudo
e gksu
é mais significativa do que onde você digita sua senha. gksu
é o preferido para aplicações GUI e sudo
de linha de comando ver aqui e aqui
O root realmente não é recomendado para uso normal, mas às vezes você tem uma longa lista de comandos do terminal que precisam de privilégios de root e é mais conveniente fazer login como root. Eu uso sudo xterm
ou gksu xterm
para abrir um terminal raiz. Acho um pouco mais fácil distinguir qual janela de termo tem privilégios de root quando você tem o prompt de termo "root @" útil
Nota adicional: O Ubuntu não está permitindo que os usuários da GUI efetuem login como root porque o Ubuntu impede que você remova ou exclua acidentalmente arquivos importantes com aplicativos da GUI (como nautilus).
Com apenas a interface do usuário da CLI, pode reduzir o risco de nosso erro. Mas antigamente não era possível fazer login com o root, mesmo no modo CLI, porque o Ubuntu cria uma senha aleatória para o root. A tarefa administrativa raiz somente pode ser executada usando a senha do usuário com o comando sudo ou gksu.
É baseado na regra Debian.
Dado que não há boas razões para fazer login como root , eu acho que a diferença entre RH (permitir login root) e ubuntu (fazer tudo usando o sudo / gksu) é uma questão de preferência.
Quanto à outra parte da sua pergunta, você poderá executar sua instalação gráfica efetuando login como usuário comum, pressionando ALT-F2
e entrando gksu
. Na caixa de diálogo resultante, basta digitar o comando que inicia o instalador.
Você deve sempre fazer logon como você mesmo e, em seguida, sudo para executar ações como root. O Ubuntu está configurado para permitir a você todo o acesso necessário por padrão. Pequenas alterações cuidam do resto (como adicionar o seu usado a outros grupos). É considerado uma prática ruim fazer login como root. A melhor prática do setor é o padrão configurado aqui.
Alguém capaz de efetuar login como root pode ser uma coisa muito ruim do ponto de vista da segurança.