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.