Sistemas de Arquivos

Partições

Podemos dividir um disco rígido em várias partes ou partições, onde cada partição é independente das outras, ou seja, cada partição pode ter o seu próprio sistema de arquivo. Isto significa que uma partição do disco não interfere nas outras partições. Podemos, por exemplo, instalar o Linux em uma partição e o Windows em outra partição.

Um disco pode ser dividido em até 4 partições. Uma partição pode ser primária ou estendida. Sendo que, no máximo, apenas uma partição pode ser do tipo estendida. Isto significa que você pode ter 4 partições primárias ou 3 partições primárias e uma partição estendida. É possível dividir uma partição estendida em até 64 partições menores chamadas de partições lógicas (a partição estendida não armazena dados e sim, outras partições lógicas). Não é possível, entretanto, dividir uma partição primária.

A tabela onde são armazenadas as informações sobre as partições fica no primeiro setor do disco e chama-se MBR (Master Boot Record). Esta tabela possui 4 entradas onde cada entrada descreve uma única partição.

Deve-se colocar o DOS em uma partição primária, pois este sistema operacional não consegue inicializar numa partição lógica, enquanto o Linux nã possui nenhuma restrição (veja LILO para mais detalhes). Por outro lado, o Linux requer na sua instalação a criação de pelo menos duas partições, uma para instalar o próprio Linux (partição Linux nativo) e a outra para servir de memória auxiliar para o Linux (partição de swap ou troca). A partição Linux nativo é conhecida por diretório raiz do Linux e é representada por /.

O programa mais comumente usado para particionar discos é o fdisk. O problema com este aplicativo é que ele destrói os dados armazenados ao particionar o disco.

Sistemas de arquivos

A tabela abaixo mostra os tipos mais comuns de sistemas de arquivos que são reconhecidos pelo Linux.

Tipo Descrição
ext Sistema nativo Linux antigo
ext2 Atual sistema nativo Linux de arquivos
iso9660 Sistema de arquivos do CD-ROOM (read only)
msdos Sistema de arquivos DOS
nfs Sistema de arquivo remoto NFS
proc Sistema de arquivos Linux Process Information
swap Sistema de arquivos de troca (swap)
umsdos Sistema de arquivos para suportar arquivos DOS e Linux coexistentes
vfat Sistema de arquivos Windows (permite definição de nomes de arquivos com até 32 caracteres)

Para verificar quais os sistemas de arquivos que o seu Linux suporta, basta verificar o conteúdo do arquivo /proc/filesystems. O exemplo abaixo mostra que o sistema pode montar um CD-ROOM e um sistema de arquivos DOS ou Windows.

ext2
nodev proc

iso9660
nodev devpts
msdos

O suporte para diferentes sistemas de arquivos pode ser obtido através de módulos de kernel carregáveis no diretório /lib/modules/XXX/fs, onde XXX é a versão atual do Linux.

Sistemas de arquivos do Linux

No Linux, um diretório (corresponde ao conceito de pasta do Windows) pode ter outros diretórios ou arquivos. Dizemos que um diretório é filho de outro diretório quando ele está logo abaixo do diretório em questão. O diretório que está um nível acima é chamado de diretório pai.

O diretório raiz do Linux (ou diretório /) é o diretório com maior hierarquia entre todos os diretórios do sistema. Isto significa que todos os diretórios do Linux ficam abaixo deste diretório. Por padrão (independente da distribuição usada), temos no Linux os seguintes diretórios abaixo do diretório raiz :

  • bin – diretório com os arquivos binários de comandos disponíveis para todos os usuários.
  • boot – diretório com os arquivos do boot de inicialização.
  • dev – diretório com as definições dos dispositivos de entrada/saída.
  • etc – diretório com os arquivos de configuração do sistema.
  • home – diretório que armazena os diretórios dos usuários do sistema.
  • lib – diretório com as bibliotecas e módulos (carregáveis) do sistema.
  • mnt – diretório usado para montagem de partições.
  • opt – diretório usado para instalar pacotes opcionais que não fazem parte da distribuição Linux.
  • proc – diretório com informações sobre os processos do sistema.
  • root – diretório home do administrador do sistema.
  • sbin – diretório com os arquivos binários de comandos disponíveis para administrar o sistema.
  • tmp – diretório com arquivos temporários.
  • usr – diretório com arquivos binários, páginas de manual e outros arquivos imutáveis utilizados pelos usuários do sistema, mas que não são essenciais para o uso do sistema como, por exemplo, o sistema de janelas X, jogos, bibliotecas compartilhadas e programas de usuários e de administração.
  • var – diretório com arquivos de dados variáveis (spool, logs, etc).

O diretório inicial de um usuário é conhecido como diretório home, diretório raiz do usuário ou diretório principal do usuário. Este diretório é o de maior hierarquia no conjunto de diretórios do usuário. O usuário tem total controle sobre o seu diretório home e sobre todos os arquivos e diretórios que estão abaixo dele. Isto significa que o usuário pode criar, deletar e modificar tudo que está abaixo do seu diretório principal. Além disso, o usuário pode definir as permissões de acesso (leitura, gravação e execução) dos outros usuários em relação aos seus arquivos.

Normalmente, o diretório raiz de um usuário está localizado em /home e possui o mesmo nome do login de acesso do usuário (o root pode mudar este padrão durante a criação da conta do usuário). Por exemplo, o diretório raiz do usuário aluno, por padrão, é /home/aluno.

Convém também observar que é possível colocar os subdiretórios do diretório raiz em partições separadas. O objetivo é facilitar a manutenção do sistema e aumentar a segurança dos dados. Portanto, a distribuição do diretório raiz em várias partições é uma escolha pessoal do administrador do sistema. Normalmente, é sugerido que os seguintes diretórios possuam uma partição própria: /home/opt/tmp/usr e /usr/local.

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Deixe um comentário

O seu endereço de e-mail não será publicado.