From Mageia wiki
Jump to: navigation, search


Drakconf multiflag.png
Outros idiomas
English ; français ; Portuguese (Portugal) ; português brasileiro ; Türkçe ;  ;
esta página é um rascunho.
Ela requer melhorias. Se deseja melhorá-la, basta fazer login e clicar na aba Editar.

Remova este modelo {{Draft-pt-BR}}, quando tiver certeza de que a página está completa e correta.


Consulte as outras páginas em rascunho, ou outras páginas para melhorar e manter.
Isto foi importado da wiki do Mandriva licenciado sob CC-By-SA 2.5




Introduzindo o 'root'

O Unix e seus clones e derivados, incluindo o Linux, foram projetados como sistemas multiusuário. Isso era inevitável, já que, na época em que o Unix foi desenvolvido, computadores pessoais simplesmente não existiam. A estrutura de rede consistia em um servidor principal, o mainframe, ao qual os clientes se conectavam por meio de terminais 'burros'.

Um recurso centralizado e compartilhado exige alguém para mantê-lo – o administrador do sistema, também conhecido como 'superusuário' ou 'root'. O nome da conta 'root' para essa função é uma convenção, mas não é obrigatório. Possivelmente, a origem do nome se deve ao fato de que 'root' é a única conta que possui permissões de gravação no diretório '/' (ou 'root'), que é a raiz do sistema de arquivos. O poder do 'root' não vem do nome, mas do seu ID de usuário (UID), que é '0':

$ echo $UID
0Template:Stop-pt-BR

Esse comando lê o conteúdo da variável de ambiente $UID, que contém o identificador digital do usuário atual (o "usuário corrente", como se diz em computação).

O arquivo /etc/passwd sempre atribui o UID (User ID) 0 ao root, o superusuário. Você pode verificar isso com:

$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bashTemplate:Stop-pt-BR

O arquivo do sistema /etc/passwd contém uma linha para cada usuário do sistema. Cada linha é composta por "campos" separados por dois-pontos. O primeiro campo contém o nome do usuário (aqui, 'root') e o terceiro campo, o identificador numérico (UID), que é 0.

O sistema de permissões de arquivos no Unix foi programado para limitar o acesso de usuários comuns aos arquivos do sistema, deixando para o root as permissões de gravação em todos os arquivos. Como tudo no GNU/Linux é baseado em arquivos, o root tem poder total sobre o sistema.

Usar o root pode ser prejudicial

É tentador para usuários novatos de um sistema Unix, especialmente aqueles acostumados a sistemas operacionais que não gerenciam permissões, ignorar esse sistema conectando-se diretamente como root e permanecendo assim. Essa abordagem pode trazer apenas um alívio momentâneo! Há muitas razões, boas e importantes, para aprender a usar o sistema no dia a dia com uma conta de usuário comum. O root, afinal, é a conta de administrador do sistema.

Pode parecer surpreendente no início, mas ouça com atenção: você pode "derrubar" qualquer sistema operacional de maneira brilhante. Os designers e desenvolvedores de sistemas fazem o possível para evitar isso, mas esses mecanismos funcionam apenas se o sistema for usado como planejado. Os designers de sistemas como o Unix assumem que o usuário root sabe exatamente o que está fazendo.

Aviso!

"Aqui está uma pequena história. Imagine que você possui o arquivo sendmail.cf em /etc. No meu caso, eu estava trabalhando no sendmail e queria me livrar de vários arquivos sendmail.cf.xxx. Então, usei o comando rm da seguinte forma:

rm -f sendmail.cf. *

No início, fiquei surpreso com o tempo que levou para apagar uns dez arquivos. Parei a ação e, quando percebi o que havia acontecido, já era tarde demais." (Richard Eiger em comp.unix.admin)

Você entendeu?

O autor da história pretendia digitar rm -f sendmail.cf.*, mas o espaço extra antes do asterisco transformou o comando em uma solicitação para excluir não apenas o arquivo sendmail.cf, mas também todos os outros arquivos no diretório atual, que no caso era /etc contendo todos os arquivos de configuração do sistema...

É mais provável causar danos a um sistema Unix usando-o como root, como no exemplo, do que em sistemas da família Win32. Nesses, a ausência de permissões é compensada por outros métodos de proteção.


Nota:
Usar uma conta de usuário comum em vez de root protege você contra atacantes, usuários mal-intencionados ou desatentos, e até mesmo contra si mesmo!!


Isto não é Unix!

Qual é o sentido de usar um sistema operacional diferente se você apenas o faz se comportar como o que você já conhece? Além do fato de que essa estratégia não vai funcionar de qualquer maneira, o que você fará se estiver em um sistema semelhante ao Unix e não tiver a possibilidade de se tornar root? Você nunca se sentirá em casa enquanto não aceitar que algumas coisas são feitas de forma diferente em sistemas do tipo Unix — e são feitas de forma diferente por um motivo, não apenas para irritá-lo (embora às vezes realmente possa parecer assim!).


Segurança

Qualquer pessoa que tenha acesso físico a um computador do tipo Unix pode obter acesso ao root se conseguir acessar o sistema de arquivos (por exemplo, via disquete, unidade de CD-ROM, dispositivo USB ou internet), pois pode editar o arquivo '/etc/shadow'. Nesse arquivo estão armazenadas as senhas de todos os usuários. Ele pode ser facilmente editado e configurado para uma senha nula (*). Portanto, para segurança perfeita, é necessário garantir o acesso físico seguro ao seu computador.

Todos os processos iniciados pelo usuário 'root' têm privilégios de 'root', o que significa que podem fazer praticamente qualquer coisa. Não é necessário nem mesmo um programa malicioso, como um vírus, um cavalo de Troia ou um worm, para causar danos. Esses programas são muito raros no Linux (até agora). No entanto, erros de programação acontecem, especialmente em programas Linux, que muitas vezes contam com o usuário como um testador ativo, ao contrário do Windows, onde os testes geralmente são feitos antes do lançamento do produto. Isso é possível porque os programadores confiam no mecanismo de permissões do Linux para evitar que seus programas causem danos reais. Se você contornar isso executando esses programas como 'root', alguns dirão que você não tem justificativa para reclamar depois que seu sistema for comprometido.

Além disso, mesmo programas maduros podem conter erros de programação relacionados à segurança (também conhecidos como 'exploits'). Esses erros podem permitir que um invasor execute comandos de sua autoria com os mesmos privilégios do programa defeituoso. Se esse programa estiver sendo executado com privilégios de 'root', você basicamente entregou o controle da sua máquina a esse intruso mal-intencionado.

Em outras palavras: use o 'root' apenas quando for absolutamente necessário para a tarefa em questão.

Nota:
As atualizações de segurança mais recentes para sistemas Mageia Linux, projetadas para corrigir vulnerabilidades, são disponibilizadas regularmente para os usuários. Não ignore esses recursos, realize suas atualizações regulares, afinal, isso é muito fácil com o Mageia!


Tarefas que exigem privilégios de 'root'

É claro que existem tarefas que requerem privilégios de 'root', mas elas não fazem parte do dia a dia. Além disso, ao usar ferramentas como o Centro de Controle do Mageia, você será solicitado automaticamente a inserir a senha de 'root' se não estiver logado como 'root'. Existem também outras ferramentas que permitem assumir e liberar os privilégios de 'root' sempre que necessário. Estas serão discutidas no próximo item.


De modo geral, existem apenas duas tarefas que exigem privilégios de 'root':

  • Mover arquivos ou diretórios para dentro ou para fora de diretórios do sistema; copiar arquivos para diretórios do sistema.

Mover arquivos para fora de diretórios do sistema exige privilégios de root, porque o arquivo original é excluído no processo.
Instalar software também se encaixa aqui. Normalmente, pacotes RPM são instalados em diretórios do sistema, que só são graváveis pelo root. Se você estiver compilando a partir do código-fonte, a maioria dos softwares pode ser configurada para instalar e rodar a partir do diretório home do usuário, nesse caso, não é necessário ter privilégios de 'root' para instalar o software.

Nota:
Compilar software não exige privilégios de 'root' quando feito em seu diretório home, e, na verdade, não deve ser feito como 'root' por motivos de segurança.
  • Escrever em arquivos de diretórios do sistema.

Isso inclui editar arquivos de configuração do sistema, seja manualmente ou por meio de uma ferramenta, além de rodar programas que gravam saídas em arquivos em diretórios do sistema, como o 'updatedb'. Observe que muitos programas permitem configurações 'por usuário', controladas por arquivos no diretório home do usuário.
Outro caso em que pode ser necessário estar logado como root é ao alterar permissões de arquivos ou diretórios que você não possui.

Nota:
Na maioria dos casos, você não precisa ser root para acessar arquivos em diretórios do sistema. Você pode mudar para esses diretórios e ler a maioria dos arquivos de configuração e toda a documentação diretamente de sua conta de usuário.


Tornando-se root com o comando su

Para realizar tarefas administrativas atribuídas ao usuário root, não é necessário (nem recomendável, na verdade!) reconectar-se ao sistema. Basta digitar:

$ su -
Senha :Template:Stop-pt-BR

em uma janela de terminal (console) e fornecer a senha de root.

Depois disso, você estará logado como root e poderá executar qualquer programa com privilégios de root, incluindo softwares principais com interface gráfica (somente se você estiver usando um terminal gráfico, como o Konsole do KDE. Porém, se você estiver em um terminal de texto acessado por <CTRL+ALT+Fn>, não será possível executar aplicações gráficas).

Você pode voltar à sua conta de usuário pressionando <CTRL+D> ou digitando exit.


Uma forma prática de evitar abrir vários terminais virtuais com o comando su, é criar um terminal com privilégios de root uma vez e utilizá-lo para todas as tarefas que exijam o superusuário durante sua sessão de trabalho.

É claro que você deve garantir que ninguém tenha acesso físico à sua máquina durante essa sessão. Além disso, recomenda-se fechar o terminal ou sair da conta de root quando estiver conectado à Internet.

su -

Quando você alterna para o usuário root usando o comando su, provavelmente percebeu que permanece no mesmo diretório de trabalho de antes (o comando pwd exibe o diretório "onde você está"):

$ pwd
/home/fooTemplate:Stop-pt-BR
$ su
Senha :Template:Stop-pt-BR
$ pwd
/home/fooTemplate:Stop-pt-BR

Se deseja ter o ambiente completo de root, incluindo o diretório de trabalho, ao usar o comando su, basta forçar a leitura dos arquivos de configuração para os shells de login /etc/profile e ~/.Bash_profile, da seguinte forma:

$ pwd
/home/fooTemplate:Stop-pt-BR
$ su -
Senha :Template:Stop-pt-BR
$ pwd
/rootTemplate:Stop-pt-BR

Você será então automaticamente direcionado para o diretório de trabalho de root e, de maneira geral, terá certeza de que está com todo o seu ambiente.


Nota:
Nunca use apenas o comando su

su -c

A ser completado...


su -p

A ser completado...

Sair do root

Para sair do root e se tornar um usuário normal, digite:

# exit

ou ainda mais fácil: pressione a combinação de teclas <Ctrl+D>.

Por motivos de segurança, é recomendável não deixar um console aberto como root desnecessariamente quando a máquina estiver conectada a uma rede, incluindo a Internet.

Shuttle Express AR root <> usuário único

Em poucos minutos, você acha que precisa usar o root várias vezes e alternar entre sua identidade de usuário normal? E não quer digitar novamente a senha (inevitavelmente longa e complexa) que você atribuiu ao root?

É isso que acontece se você quiser permanecer em um console e minimizar o tempo em que o console está aberto como root.

Você alterna para root normalmente com o comando:

$ su
Senha :

Você faz todas as suas tarefas como root e, quando chegar a hora de voltar para o usuário normal, em vez de digitar exit (ou <Ctrl+D>) como de costume, digite:

# suspend

Na maioria das vezes, você pode simplesmente pressionar <Esc>, e o autocomplete fará o resto!

Este comando coloca a instância do Bash iniciada como root em segundo plano, e você volta a ser um usuário normal.

Agora, você pode selecionar como um usuário normal e, quando precisar voltar para o root, basta digitar fg, que traz o root para o primeiro plano (fg = foreground):

$ fg

E você volta a ser root. Você pode alternar entre um e outro quantas vezes quiser, suspendo e usando o comando fg.

Uma versão gráfica do su: kdesu

kdesu é o meio fornecido pelo KDE para executar aplicativos gráficos com privilégios de root a partir de um ambiente gráfico.

kdesu funciona a partir de um ambiente gráfico de console, como a ferramenta Konsole geralmente presente no desktop KDE, mas não em consoles "tradicionais" chamados por <CTRL+ALT+Fn>:

$ kdesu comando
Nota:
Também é possível: kdesu -c comando. Não está claro para nós até que ponto a opção -c é útil ou necessária. Agradecemos qualquer informação sobre isso.


Uma caixa de diálogo solicitando a senha do root será exibida e, em seguida, o programa será executado como root.

Você pode fazer com que um programa gráfico específico seja iniciado automaticamente como root por meio de um diálogo através de um item de menu no sistema principal ou um ícone.

Para fazer isso, basta criar uma entrada no menu principal ou editar uma entrada existente. Clique com o botão direito no botão K Menu, depois clique com o botão esquerdo em Editor de Menu. Na janela à esquerda, navegue até a entrada do aplicativo desejado e selecione (ou adicione-a se não estiver lá). Em seguida, digite: kdesu "comando" no seu comando (substituindo, é claro, "comando" pelo comando apropriado para iniciar o aplicativo!). Não se esqueça de clicar no botão Salvar antes de sair do Editor K-Menu para garantir que a alteração seja preservada.

Note que outros ambientes gráficos também utilizam o kdesu se o pacote kdebase estiver instalado.

O programa se baseia no arquivo .Xauthority, que está localizado no diretório do usuário root ($HOME), para permitir que o usuário root acesse o servidor X. No raro caso de esse arquivo ser corrompido, o kdesu falha. Para evitar isso, exclua ou renomeie o arquivo .Xauthority e reinicie o sistema. Isso deve recriar o arquivo .Xauthority corretamente.

Este programa vem com um arquivo de ajuda em francês: que deve estar em /usr/share/doc/HTML/en/kdesu. Ele está no formato DocBook (XML). Para visualizá-lo, use o comando:

$ khelpcenter help:/kdesu

Note que as especificidades do kdesu fornecem uma função de conservação, uma senha temporária limitada à sessão atual. Esse recurso é atraente, mas é, se você selecionar, um certo enfraquecimento da segurança do seu sistema. Consulte a documentação do kdesu para mais informações sobre isso.


Uma versão mais fácil de usar do su: sudo

Consulte a página Configurando o sudo

Alterar a senha do root

Alterar a senha do root de um sistema é fácil quando você sabe a famosa senha. Basta digitar passwd como root.

Caso você não lembre a senha, é necessário usar o método explicado no artigo Recuperar a senha do root.

Para problemas de acesso ao root com ou sem senha e questões de segurança relacionadas à senha do root, recomendamos a leitura deste tópico do fórum Mandriva : failsafe: não é mais necessário senha para root! LINK QUEBRADO


Continua... A ser completado...