Linux mais a fundo
Por: André Souza ( 26/03/2001 )

Neste artigo estaremos falando sobre vários detalhes do GNU/Linux, para que você o conheça mais a fundo e entenda melhor como este funciona.

Cada assunto será discutido brevemente, porém existe mais documentação disponível sobre os mesmos. Quando houver um link em um destes assuntos, você poderá encontrar tais documentações seguindo tal link.

Usuários

Um usuário é um meio de identificação do Linux composto de um login (nome) e sua respectiva senha. Cada usuário representa uma pessoa fisicamente (uma pessoa pode ter vários logins e, indevidamente, usar o login e senha de outra).

A hierarquia dos usuários de Linux é a mesma dos usuários de Unix. Você é obrigado (e por questões de segurança do sistema) a logar (se identificar) como um usuário, ou seja, é preciso ter um login (conta) no sistema.

No Linux existe um usuário especial chamado root (raiz). Este usuário é tão especial que seu apelido é "super usuário" (super user). Ele é o único que pode alterar todos os arquivos do sistema, assim como é feito por todos os usuários em outros sistemas como o DOS e Windows.

Também no Linux há os logins de usuários normais, os quais não podem alterar arquivos de sistema. Os únicos arquivos que os usuários normais podem alterar são os de seu diretório HOME (Casa, seu espaço). O usuário de login Luke, por exemplo, tem seu diretório HOME localizado em /home/luke. Se este usuário tentar apagar um arquivo, por exemplo, do diretorio /etc não conseguirá, pois o sistema retornará : Permissão Negada (Permission Denied). Agora, se ele tentar apagar um arquivo dentro do diretorio /home/luke, conseguirá.


Por que o Linux não tem vírus?

Esta é uma pergunta que muitos usuários iniciantes em Linux se fazem, pois não entendem como um sistema pode não ter vírus. A resposta a esta pergunta é simples: Somente o usuário root pode alterar os arquivos de sistema.

Um vírus só pode aparecer no sistema na forma de um programa (arquivo executável). Isto quer dizer que um vírus só irá funcionar no Linux se o usuário root executar o programa de vírus.

Como explicado acima, onde falamos sobre usuários, um usuário normal não consegue alterar (apagar, sobreescrever, ...) arquivos de sistema. Nem um programa executado pelo mesmo consegue. Assim sendo, ninguém se preocupa em fazer vírus para o Linux, pois são muitas barreiras a serem vencidas para que o mesmo tenha efeito.



Man pages: Manuais Online

Man pages (ou páginas do manual) é como o GNU/Linux junta todos os manuais dos programas (e funções), para facilitar a procura de ajuda através de um simples comando.

Para obter ajuda em um programa (ou função) use :
man [programa/biblioteca]

Exemplo de função:
$ man printf

Exemplo de programa:
$ man fsck

Devices

Devices é o meio que o Linux usa para se comunicar com periféricos como modem, impressora, disco rígidos, etc. Um device é tratado como um arquivo e sua localização é sempre no diretório /dev.

Os devices que controlam os discos rígidos e CDROM's normalmente são os das IDE's da placa mãe. Abaixo são listados as quatro IDE's padrões e seus respectivos devices:

Primeira IDE Master = /dev/hda
Primeira IDE Slave = /dev/hdb
Segunda IDE Master = /dev/hdc
Segunda IDE Slave = /dev/hdd

Os devices que controlam os drives de disquete estão listados abaixo :

Primeiro Floppy Drive - /dev/fd0
Segundo Floppy Drive - /dev/fd1
...

Os devices que controlam as portas seriais estão listados abaixo com referência as portas COM dos DOS:

COM 1 = /dev/ttyS0
COM 2 = /dev/ttyS1
COM 3 = /dev/ttyS2
COM 4 = /dev/ttyS3

Diretórios Padrões

O GNU/Linux padroniza seus diretórios (pastas) de maneira que todos os programas e bibliotecas obedecem a uma determinada organização. Abaixo estão listados os diretórios principais e o que você vai encontrar dentro de cada um:

/
O diretório / é a raiz do sistema (assim como o C: no DOS). Nele apenas um arquivo pode ser encontrado (vmlinuz) que é o kernel do sistema. Todos os subdiretórios do / são diretórios do sistema.

/boot
Neste diretório estão os arquivos necessários para o kernel do Linux inicializar. Às vezes até o próprio arquivo compactado do kernel (vmlinuz) fica neste diretório.

/lib
Neste diretório se encotram as bibliotecas básicas do sistema, como a libc. Aqui estão as bibliotecas que fazem o sistema funcionar, sem elas nenhum programa vai funcionar.

/bin e /sbin
No /bin ficam os programas de utilidades do sistema como: cp, ls, mv, ... No /sbin também temos programas de utilidades, porém mais "perigosos". Portanto, os programas do /sbin só podem ser executados pelo usuário root. Um exemplo do que se econtra no /sbin é o mkfs (formatador de discos).

/dev
Neste diretório encontram-se todos os devices do sistema. Lembrando que todos os devices são arquivos para o Linux.

/usr/bin e /usr/lib
Apenas na instalação de pacotes, arquivos são colocados nestes diretórios. No diretório /usr/lib ficam as bibliotecas que são usadas por programas, como por exemplo o GTK. No /usr/bin se encontram os executáveis dos programas GNU.

/usr/src
Neste diretório encontra-se o fonte do kernel do Linux. Normalmente, em /usr/src/ 1 encontramos a última versão do fonte do kernel disponível.

/usr/local/ e seus subdiretórios
Funciona como o /usr, porém este diretório é utilizado quando se compila e instala um programa que nào pertence a distribuição. .



Diretórios Padrões (Continuação)

/etc
Neste diretório se encontram os arquivos de configuração do sistema. Todos os programas importantes colocam seu arquivo de configuração neste diretório. Os do X Window System se contram em /etc/X11. Já os de daemons (residentes na memória, como, por exemplo, o mouse) ficam no diretório /etc/init.d.

/home
Este diretório contém todos os HOME's dos usuários do sistema. Por exemplo, o usuário de login luke terá seu HOME em /home/luke . Este é o único diretório que o usuário luke pode salvar, alterar e apagar arquivos. Também pode-se criar subdiretórios.

Shell

Shell é um programa que permite a você interagir com o sistema operacional através de comandos digitados no teclado. No DOS, o shell é o command.com, que permite utilizar comandos como: dir, del, cd, ...

No GNU/Linux o Shell mais famoso que existe é o BASH, pois o mesmo possui vários recursos que facilitam a interação do usuário com o Linux.

Para um usuário normal o shell aparece com o símbolo $, onde ele pode digitar comandos. Assim:
localhost:~$
Para o root, aparece o símbolo #, assim:
localhost:~#
Obviamente, esta diferença é para alertar o usuário se ele está como root (para evitar problemas de segurança).



Montando e Desmontando

Montar (mount) e desmontar (umount) são usados para ativar e desativar devices, respectivamente. Por exemplo, para usar um drive de CD-ROM você tem que colocar um CD no drive e montá-lo com o comando mount . Depois que acabar de usar, você deve desmontá-lo com o comando umount .

Alguns devices montáveis são:
Disquetes
CD-ROM
Discos Rígidos
Diretórios compartilhados por rede (usando NFS).

Para montar o CD-ROM, por exemplo, eu primeiro vejo em que IDE ele está e se é Master ou Slave. No exemplo a seguir, suponho que ele esteja na primeira IDE e seja Slave, ou seja, ele é representado pelo device /dev/hdb. Então, uso (ou crio) um diretório vazio, que neste exemplo será o /cdrom. Entro (login) como root usando o comando su e executo:
#mount /dev/hdb /cdrom

A raiz do CD fica em /cdrom, que é o Ponto de Montagem (mount point). Depois para desmontar executo:
#umount /cdrom

O disquete para montar seria:
#mount /dev/fd0 /floppy
Para desmontar:
#umount /floppy

Um detalhe importante é que você só poderá desmontar o device se o mesmo não estiver em uso e se você não estiver no diretório onde o montou.


Permissões de arquivos

Quando você executa:
$ ls -l
São listados todos os detalhes dos arquivos do diretório corrente. Entre estes detalhes estão as permissões dos arquivos. Estas permissões, basicamente são representadas por três letras: r , w e x .

A letra r indica que o arquivo pode ser lido. A letra w indica que o arquivo pode ser apagado e alterado. A letra x indica que o arquivo pode ser executado (executável).

Porém, as permissões são divididas em 3 partes: dono do arquivo , grupo do arquivo e todos os usuários . Para cada parte, tem-se as três letras: r , w e x ..

Então as permissões ficam no máximo assim:
-rwxrwxrwx

O primeiro rwx são as permissões do dono do arquivo.
O segundo rwx são as permissões do grupo do arquivo.
O terceiro rwx são as permissões de todos os usuários do sistema.

Quando houver um -, ao invés de uma das letras, isto quer dizer que a permissão que corresponde aquela letra está desativada.

Exemplo:
$ ls -l intro9.amaker
-rw-rw-r-- 1 luke luke 9695 Feb 2 23:40 intro9.amaker

Neste exemplo o dono do arquivo (luke) pode ler e alterar/apagar (rw) o arquivo, mas não pode executar, pois a letra x não está presente (desativado). O grupo do arquivo (luke) também só pode ler e apagar/alterar (rw). Já todos os outros usuários podem apenas ler o arquivo (r).



X Window System

O X Window System (ou X11) é um projeto iniciado há mais de dez anos atrás com o intuito de fornecer aos sistemas UNIX uma interface gráfica padrão.

O X11 é basicamente uma biblioteca (Xlib) que permite o total controle sobre janelas, mouse, teclado e vídeo. Tal biblioteca facilita a criação de programas que gerenciam isto tudo. Estes programas são chamados de Window Managers (Gerenciadores de Janelas).

O Linux, sendo baseado em UNIX, também adota o X11 como sua interface gráfica padrão. O grupo XFree86 foi quem criou a versão do X11 gratuita para o Linux. Na página deles você encontra tudo o que precisa para ter o X funcionando no seu PC: http://www.xfree86.org . A última versão do X11 possui suporte a várias placas de vídeo, inclusive 3D.

Sobre o X Window System rodam todos os Window Managers que conhecemos:
WindowMaker
Enlightenment
SawMill
Icewm
...

Conclusão

No próximo artigo estaremos falando sobre comandos de rede e administração. Até lá postem suas dúvidas no fórum de introdução, ou escrevam um email para mim.



Copyright (C) 1999-2000 Linux Solutions