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.
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.
Navegue até o Diretório do Projeto
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 zerosof=storage_device.img: O arquivo de saída é chamadostorage_device.imgbs=1M: O tamanho do bloco é definido como 1 megabytecount=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:
- Criar um arquivo que simula um dispositivo de armazenamento
- Formatá-lo com o sistema de arquivos ext4
- Criar um diretório de ponto de montagem
- Montar o sistema de arquivos nesse diretório
- Confirmar que a montagem foi bem-sucedida
- 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:
noexecimpede a execução de arquivos binários, o que pode proteger contra código maliciosoro(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 -fpara obter os caminhos absolutos para seus arquivos - Redireciona a linha formatada para
/etc/fstabusandotee -acom privilégios sudo
Vamos detalhar os campos na entrada fstab:
- Dispositivo - O caminho completo para o arquivo do seu dispositivo de armazenamento
- Ponto de montagem - O caminho completo para o seu diretório de montagem
- Tipo de sistema de arquivos - ext4
- Opções de montagem - defaults (equivalente a rw,suid,dev,exec,auto,nouser,async)
- Dump - 0 (não faça backup com dump)
- 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:
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
- Como criar um dispositivo de armazenamento simulado usando o comando
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
dfe outros comandos
Opções de Montagem para Segurança e Controle
- Como usar a opção
noexecpara impedir a execução de binários - Como usar a opção
ropara criar um sistema de arquivos somente leitura - Como combinar várias opções de montagem para maior segurança
- Como usar a opção
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.



