Introdução
O Linux (na verdade, qualquer sistema operacional baseado em Unix) possui
um tipo de usuário que tem acesso irrestrito aos arquivos e processos
do sistema: trata-se do usuário root ou super usuário.
Este artigo, voltado a iniciantes, mostrará qual a utilidade dessa
conta e os cuidados que a cercam. Para isso, são abordados os seguintes
assuntos: processos e arquivos, UID e GID, e comandos su e sudo.
Processos e arquivos
Para uma melhor compreensão sobre o usuário root, é
necessário entender que cada arquivo e cada processo (programa
em execução) do sistema tem um dono, ou seja, um proprietário
que determina quem pode e como usar o arquivo/processo em questão.
Obviamente, o proprietário tem acesso irrestrito aos seus "pertences",
exceto quando ele mesmo bloqueia um arquivo/processo contra si (sim, isso
é possível).
Se você é usuário de um sistema Linux, pode impedir
os demais usuários de utilizar seus arquivos. Da mesma forma, há
arquivos que podem ser bloqueados a você.
No caso de arquivos e processos ligados ao funcionamento do sistema,
seu proprietário natural é o usuário root. Isso significa
que só ele (e outros usuários que sejam definidos como "super
usuários") é que pode alterá-los. O root também
pode atuar sobre qualquer arquivo ou processo de outros usuários
já que, no sistema, "ele é um deus".
Uma das formas de saber a quem pertence um determinado arquivo é
digitando o seguinte comando em um terminal do sistema:
ls -l arquivo
Exemplo:
ls -l /iw/infowester.txt
Resultado: -rwx--- 1 wester eng 1880 Feb 3 12:01 /iw/infowester.txt
O resultado informa que o arquivo em questão pertence ao usuário
wester e ao grupo eng.
Um arquivo ou um processo sempre tem um dono, mas é possível
fazer com que um ou mais grupos de usuários tenha os mesmos privilégios
sobre ele. Assim, no exemplo anterior, o usuário wester
pode dar acesso irrestrito ao grupo eng para o arquivo infowester.txt.
UID e GID
O Linux gerencia os usuários e os grupos através de números
conhecidos como UID (User ID) e GID (Group ID).
Como é possível perceber, UID são números
de usuários e GID são números de grupos. Os nomes
dos usuários e dos grupos servem apenas para facilitar o uso humano
do computador.
Um fato ainda não citado, é que cada usuário precisa
pertencer a um ou mais grupos. Como cada arquivo ou processo pertence
a um usuário, logo, esse arquivo/processo pertence ao grupo de
seu proprietário. Assim sendo, cada arquivo/processo está
associado a um UID e a um GID.
Os números UID e GID variam de 0 a 65536. Dependendo do sistema,
o valor limite pode ser maior. No caso do usuário root, esses valores
são sempre 0 (zero). Assim, para fazer com que um usuário
tenha os mesmos privilégios que o root, é necessário
que seu GID seja 0. Isso informa ao sistema que o usuário em questão
é super usuário.
Observação: na verdade, existe um UID real e um
UID efetivo. O mesmo ocorre com o GID. Os números reais geralmente
são iguais aos efetivos. Os UIDs e GIDs reais são usados,
basicamente, para fins de contabilidade, enquanto que os efetivos são
os usados para execução.
O usuário root
Como não poderia deixar de ser, o Linux "vê" o
usuário root como algo especial, já que ele (na verdade,
qualquer usuário que tenha UID igual a 0) pode alterar a configuração
do sistema, configurar interfaces de rede, manipular usuários e
grupos, alterar a prioridades de processos, entre outros.
Por ser tão poderoso, o usuário root é perigoso.
Por isso, ele só deve ser usado em situações que
não podem ser trabalhadas por usuários que não possuem
privilégios de super usuário. Imagine, por exemplo, que
você está trabalhando com o usuário root. Ao atender
uma solicitação de emergência, você saiu da
frente do computador sem bloqueá-lo. Alguém mal-intencionado
percebe isso e vai até seu computador, apaga diretórios
importantes ao sistema e "sai de mansinho". Se você estivesse
utilizando um usuário comum, isto é, um usuário sem
permissões para mexer nesses diretórios, aquele sujeito
não teria conseguido apagá-los. Ainda há a possibilidade
de você cometer algum erro e pôr tudo a perder...
O usuário root é tão importante que até sua
senha deve ser bem elaborada. É recomendável que ela tenha
ao menos 8 caracteres e que misture letras e números. Além
disso, é recomendável mudar essa senha a determinados intervalos
de tempo (como a cada 3 meses) ou quando alguém que acessava a
conta root não utilizará mais o computador (quando a pessoa
sai da empresa, por exemplo).
Comando su
Você pode estar usando o sistema através de seu usuário,
quando percebe que terá que fazer uma alteração de
configuração permitida apenas ao root. Uma maneira rápida
e segura de fazer isso é pelo comando su (substitute
user).
Digite su no terminal e o sistema pedirá que você
informe a senha root. Em seguida, você poderá fazer a modificação
necessária. Ao concluir, basta digitar exit ou fechar o
terminal e os privilégios de root estarão desabilitados
novamente.
Observação: também é possível
usar o comando su para acessar outra conta. Para isso, digite:
su usuário
Por exemplo:
su wester
Esse recurso é útil quando, por exemplo, é necessário
testar uma configuração feita para um usuário ou
para um grupo.
Ao fazer uso do su, seu usuário passa a ter poderes de usuário
root naquele momento. No entanto, suas configurações de
usuário são mantidas, ou seja, as configurações
definidas para o usuário root não são carregadas.
Para fazer que com o usuário atual adquira toda a configuração
do usuário root, deve-se digitar o comando su seguido de
-:
su -
Comando sudo
O comando sudo é um recurso mais poderoso que o su. Isso
porque, nele, é possível definir quem pode utilizá-lo
e quais comandos podem ser executados por esses usuários. Alem
disso, o sudo pode ser configurado para exigir a senha novamente quando
o usuário deixa de utilizar o sistema por um determinado tempo,
por exemplo, por 10 minutos. A configuração do sudo geralmente
é feita através do arquivo /etc/sudoers.
O uso do sudo é interessante porque o usuário não
precisa saber a senha do root, apenas terá que ter permissão
para usar determinados comandos pelo sudo. Além disso, o sudo permite
registrar em um arquivo de log todas as atividades efetuadas, algo que
é bem limitado no su.
Para mais informações sobre o sudo, visite o site www.courtesan.com.
Finalizando
O controle sobre o que os usuários podem ou não fazer é
uma das características que tornam sistemas baseados em Unix mais
seguros. Como foi possível notar, o usuário root (super
usuário ou ainda, administrador) é o único que pode
ter acesso ilimitado aos recursos do sistema. Como tal, seu uso deve ser
feito apenas em situações que o exigem. Para tarefas cotidianas,
deve-se utilizar um usuário comum. Para minimizar o uso do usuário
root, pode-se utilizar os comandos su e sudo.
Fonte: http://www.infowester.com/linroot.php
Nenhum comentário:
Postar um comentário