Montagem de Sistema de Arquivos Linux

LinuxBeginner
Pratique Agora

Introdução

A montagem de sistemas de arquivos Linux é uma habilidade fundamental para administradores de sistemas e usuários técnicos. Este processo permite que o sistema operacional acesse e interaja com dispositivos de armazenamento e seus sistemas de arquivos, anexando-os a locais específicos na estrutura de diretórios.

Neste laboratório, você aprenderá como criar um dispositivo de armazenamento simulado, formatá-lo com um sistema de arquivos e montá-lo para acessar seu conteúdo. Você também explorará diferentes opções de montagem que controlam como o sistema de arquivos pode ser usado, como restringir permissões de execução ou torná-lo somente leitura.

Ao final deste laboratório, você entenderá:

  • Como criar e formatar um dispositivo de armazenamento no Linux
  • O processo de montagem e desmontagem de sistemas de arquivos
  • Como usar opções de montagem para controlar o acesso ao sistema de arquivos
  • Como verificar o status dos sistemas de arquivos montados

Essas habilidades são essenciais para gerenciar dispositivos de armazenamento em ambientes Linux, desde discos rígidos locais até mídias removíveis e armazenamento em rede.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 89%. Recebeu uma taxa de avaliações positivas de 91% dos estudantes.

Criando e Montando um Dispositivo de Armazenamento

Nesta etapa, você criará um dispositivo de armazenamento simulado, formatará-o com um sistema de arquivos e o montará para torná-lo acessível na estrutura de diretórios do Linux.

Primeiro, vamos navegar até o diretório do projeto onde você trabalhará durante este laboratório:

cd ~/project

Crie um Dispositivo de Armazenamento Simulado

Agora, crie um dispositivo de armazenamento simulado usando o comando dd. Este comando criará um arquivo de um tamanho específico que atuará como seu dispositivo de armazenamento:

dd if=/dev/zero of=storage_device.img bs=1M count=100

Este comando cria um arquivo de 100MB chamado storage_device.img. Vamos entender cada parte deste comando:

  • if=/dev/zero: O arquivo de entrada é /dev/zero, que é um arquivo especial que produz um fluxo infinito de zeros
  • of=storage_device.img: O arquivo de saída é chamado storage_device.img
  • bs=1M: O tamanho do bloco é definido como 1 megabyte
  • count=100: Copie 100 blocos, resultando em um arquivo de 100MB

Você deve ver uma saída semelhante a esta:

100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0331261 s, 3.2 GB/s

Formate o Dispositivo de Armazenamento com um Sistema de Arquivos

Antes de poder usar o dispositivo de armazenamento, você precisa formatá-lo com um sistema de arquivos. O comando mkfs.ext4 formata o arquivo com o sistema de arquivos ext4, que é comumente usado no Linux:

mkfs.ext4 storage_device.img

Você verá várias linhas de saída à medida que o comando cria o sistema de arquivos, semelhante a:

mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 25600 4k blocks and 25600 inodes

Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

Crie um Ponto de Montagem

Antes de montar o dispositivo, crie um diretório que servirá como ponto de montagem. Este é o local onde o conteúdo do seu sistema de arquivos estará acessível:

mkdir -p ~/project/mount_point

Monte o Dispositivo de Armazenamento

Agora, monte o dispositivo de armazenamento no ponto de montagem usando o comando mount:

sudo mount -t ext4 storage_device.img ~/project/mount_point

Este comando diz ao Linux para:

  • Montar um dispositivo do tipo (-t) ext4
  • O dispositivo a ser montado é storage_device.img
  • O local de montagem é ~/project/mount_point

Verifique a Montagem

Para verificar se o dispositivo está montado corretamente, use o comando df (disk free) com opções para mostrar o tipo de sistema de arquivos e tamanhos legíveis por humanos:

df -hT | grep mount_point

Você deve ver uma saída semelhante a:

/dev/loop0     ext4      90M   24K   83M   1% /home/labex/project/mount_point

Teste o Sistema de Arquivos Montado

Para testar se o sistema de arquivos está funcionando corretamente, crie um arquivo de teste no diretório montado:

echo "This is a test file" | sudo tee ~/project/mount_point/test.txt > /dev/null

Leia o arquivo para verificar se ele foi criado com sucesso:

cat ~/project/mount_point/test.txt

Você deve ver o texto "This is a test file" exibido, confirmando que seu sistema de arquivos está devidamente montado e funcionando.

Entenda o que Aconteceu

Você conseguiu:

  1. Criar um arquivo que simula um dispositivo de armazenamento
  2. Formatá-lo com o sistema de arquivos ext4
  3. Criar um diretório de ponto de montagem
  4. Montar o sistema de arquivos nesse diretório
  5. Confirmar que a montagem foi bem-sucedida
  6. Criar e ler um arquivo no sistema de arquivos montado

Este processo é semelhante a conectar e usar um disco rígido externo ou um pendrive, mas usando um arquivo para simular o dispositivo físico.

Opções de Montagem para Segurança e Controle de Acesso

Nesta etapa, você aprenderá como usar opções de montagem para controlar como o sistema de arquivos pode ser acessado. As opções de montagem fornecem controle adicional sobre o comportamento do sistema de arquivos, como restringir permissões de execução ou tornar um sistema de arquivos somente leitura.

Desmonte o Sistema de Arquivos Atual

Antes de aplicar novas opções de montagem, você precisa desmontar o sistema de arquivos atual:

sudo umount ~/project/mount_point

Se você receber uma mensagem de erro dizendo que o dispositivo está ocupado, certifique-se de não estar atualmente no diretório do ponto de montagem:

cd ~/project

Em seguida, tente desmontar novamente.

Monte com a Opção noexec

A opção de montagem noexec impede a execução de quaisquer binários no sistema de arquivos montado. Este é um recurso de segurança que pode impedir a execução de scripts ou programas maliciosos.

Monte o sistema de arquivos com a opção noexec:

sudo mount -t ext4 -o noexec storage_device.img ~/project/mount_point

A parte -o noexec diz ao mount para usar a opção noexec.

Teste a Opção noexec

Vamos criar um script de shell simples no sistema de arquivos montado e tentar executá-lo:

echo '#!/bin/bash' | sudo tee ~/project/mount_point/test_script.sh > /dev/null
echo 'echo "This script is running"' | sudo tee -a ~/project/mount_point/test_script.sh > /dev/null

Torne o script executável:

chmod +x ~/project/mount_point/test_script.sh

Agora, tente executar o script:

~/project/mount_point/test_script.sh

Você deve ver uma mensagem de erro como:

bash: /home/labex/project/mount_point/test_script.sh: Permission denied

Isso confirma que a opção noexec está impedindo a execução do script.

Desmonte e Remonte com a Opção Read-Only

Agora, vamos tentar montar o sistema de arquivos como somente leitura. Primeiro, desmonte-o:

sudo umount ~/project/mount_point

Em seguida, monte-o com a opção somente leitura:

sudo mount -t ext4 -o ro storage_device.img ~/project/mount_point

A parte -o ro diz ao mount para usar a opção somente leitura.

Teste a Opção Read-Only

Tente criar um novo arquivo no sistema de arquivos montado:

touch ~/project/mount_point/new_file.txt

Você deve ver uma mensagem de erro como:

touch: cannot touch '/home/labex/project/mount_point/new_file.txt': Read-only file system

Isso confirma que o sistema de arquivos está montado como somente leitura.

Verifique as Opções de Montagem

Você pode verificar as opções de montagem atuais usando o comando mount:

mount | grep mount_point

Você deve ver uma saída incluindo ro, indicando que a opção somente leitura está ativa:

/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,relatime)

Combinando Opções de Montagem

Você pode combinar várias opções de montagem separando-as por vírgulas. Vamos desmontar o sistema de arquivos e remontá-lo com as opções noexec e ro:

sudo umount ~/project/mount_point
sudo mount -t ext4 -o ro,noexec storage_device.img ~/project/mount_point

Verifique as opções de montagem:

mount | grep mount_point

Você deve ver ambas as opções na saída:

/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,noexec,relatime)

Entendendo as Opções de Montagem

As opções de montagem que você explorou são importantes para segurança e controle de acesso:

  • noexec impede a execução de arquivos binários, o que pode proteger contra código malicioso
  • ro (somente leitura) impede alterações no sistema de arquivos, o que pode proteger a integridade dos dados

Essas opções são comumente usadas em ambientes de produção para implementar o princípio do menor privilégio, dando aos sistemas e usuários apenas o acesso de que precisam.

Automatizando Montagens com /etc/fstab

Nesta etapa, você aprenderá como tornar as montagens do sistema de arquivos persistentes em reinicializações do sistema, configurando o arquivo /etc/fstab. Isso é essencial para montar automaticamente dispositivos de armazenamento quando o sistema inicia.

Entendendo /etc/fstab

O arquivo /etc/fstab (tabela do sistema de arquivos) contém informações sobre os sistemas de arquivos que devem ser montados automaticamente quando o sistema inicializa. Cada linha no arquivo representa um sistema de arquivos separado e inclui campos como o dispositivo, ponto de montagem, tipo de sistema de arquivos e opções de montagem.

Vamos primeiro olhar o conteúdo atual do arquivo:

cat /etc/fstab

Você verá várias linhas com montagens do sistema já configuradas.

Desmonte o Sistema de Arquivos Atual

Antes de configurar a montagem persistente, desmonte o sistema de arquivos atual:

sudo umount ~/project/mount_point

Crie um Backup de /etc/fstab

É sempre uma boa prática criar um backup antes de modificar os arquivos de configuração do sistema:

sudo cp /etc/fstab /etc/fstab.backup

Adicione uma Entrada a /etc/fstab

Agora, adicione uma entrada para seu dispositivo de armazenamento a /etc/fstab. Você precisará usar o caminho absoluto para o arquivo do seu dispositivo:

echo "$(readlink -f ~/project/storage_device.img) $(readlink -f ~/project/mount_point) ext4 defaults 0 0" | sudo tee -a /etc/fstab

Este comando:

  • Usa readlink -f para obter os caminhos absolutos para seus arquivos
  • Redireciona a linha formatada para /etc/fstab usando tee -a com privilégios sudo

Vamos detalhar os campos na entrada fstab:

  1. Dispositivo - O caminho completo para o arquivo do seu dispositivo de armazenamento
  2. Ponto de montagem - O caminho completo para o seu diretório de montagem
  3. Tipo de sistema de arquivos - ext4
  4. Opções de montagem - defaults (equivalente a rw,suid,dev,exec,auto,nouser,async)
  5. Dump - 0 (não faça backup com dump)
  6. Pass - 0 (não verifique o sistema de arquivos na hora da inicialização)

Teste a Entrada fstab

Teste se sua entrada funciona corretamente usando o comando mount -a, que monta todos os sistemas de arquivos listados em /etc/fstab que ainda não estão montados:

sudo mount -a

Se não houver mensagens de erro, significa que sua entrada está correta.

Verifique a Montagem

Verifique se o sistema de arquivos está montado conforme o esperado:

df -hT | grep mount_point

Você deve ver seu sistema de arquivos montado com o tipo ext4.

Modifique a Entrada fstab com Mais Opções

Agora, vamos modificar a entrada para usar as opções de montagem que você aprendeu na etapa anterior. Edite o arquivo /etc/fstab com o editor de texto nano:

sudo nano /etc/fstab

Encontre a linha que você adicionou, que deve ser algo como:

/home/labex/project/storage_device.img /home/labex/project/mount_point ext4 defaults 0 0

Altere as opções de montagem (quarto campo) de defaults para ro,noexec:

/home/labex/project/storage_device.img /home/labex/project/mount_point ext4 ro,noexec 0 0

Pressione Ctrl+O para escrever as alterações, depois Enter para confirmar e Ctrl+X para sair do nano.

Remonte com as Novas Opções

Desmonte o sistema de arquivos e remonte todas as entradas em /etc/fstab:

sudo umount ~/project/mount_point
sudo mount -a

Verifique as Novas Opções de Montagem

Verifique se o sistema de arquivos está montado com as novas opções:

mount | grep mount_point

Você deve ver as opções ro e noexec na saída.

Entendendo as Montagens Persistentes

O arquivo /etc/fstab fornece uma maneira de:

  • Montar automaticamente sistemas de arquivos na inicialização
  • Configurar opções de montagem de forma persistente
  • Controlar a ordem das verificações do sistema de arquivos durante a inicialização

Em um ambiente de produção, a configuração adequada de /etc/fstab garante que todos os sistemas de arquivos necessários estejam disponíveis quando o sistema inicia, sem exigir intervenção manual.

Resumo

Parabéns por concluir o laboratório de Montagem do Sistema de Arquivos Linux. Você adquiriu habilidades valiosas que são essenciais para qualquer administrador de sistema Linux ou usuário técnico.

Neste laboratório, você aprendeu:

  1. Criando e Formatando Dispositivos de Armazenamento

    • Como criar um dispositivo de armazenamento simulado usando o comando dd
    • Como formatar o dispositivo com o sistema de arquivos ext4 usando mkfs.ext4
  2. Operações Básicas de Montagem

    • Como criar um diretório de ponto de montagem
    • Como montar um sistema de arquivos usando o comando mount
    • Como verificar a montagem usando df e outros comandos
  3. Opções de Montagem para Segurança e Controle

    • Como usar a opção noexec para impedir a execução de binários
    • Como usar a opção ro para criar um sistema de arquivos somente leitura
    • Como combinar várias opções de montagem para maior segurança
  4. Montagem Persistente com /etc/fstab

    • Como configurar a montagem automática de sistemas de arquivos na inicialização
    • Como definir opções de montagem persistentes
    • Como testar e verificar as entradas fstab

Essas habilidades permitirão que você:

  • Gerencie vários tipos de dispositivos de armazenamento no Linux
  • Implemente controles de segurança por meio de opções de montagem
  • Configure a montagem automática para a inicialização do sistema
  • Solucione problemas de montagem do sistema de arquivos

À medida que você continua sua jornada no Linux, você descobrirá que essas habilidades são valiosas ao trabalhar com dispositivos de armazenamento físico, compartilhamentos de rede e sistemas de arquivos virtuais. Os princípios que você aprendeu se aplicam a muitas distribuições Linux e tecnologias de armazenamento diferentes.