Opciones de Montaje para Seguridad y Control de Acceso
En este paso, aprenderá a usar las opciones de montaje (mount options) para controlar cómo se puede acceder al sistema de archivos. Las opciones de montaje proporcionan control adicional sobre el comportamiento del sistema de archivos, como restringir los permisos de ejecución o hacer que un sistema de archivos sea de solo lectura.
Desmontar el Sistema de Archivos Actual
Antes de aplicar nuevas opciones de montaje, debe desmontar el sistema de archivos actual:
sudo umount ~/project/mount_point
Si recibe un mensaje de error que indica que el dispositivo está ocupado, asegúrese de que no se encuentra actualmente en el directorio del punto de montaje (mount point):
cd ~/project
Luego, intente desmontar nuevamente.
Montar con la Opción noexec
La opción de montaje noexec
impide la ejecución de cualquier binario en el sistema de archivos montado. Esta es una característica de seguridad que puede evitar que se ejecuten scripts o programas maliciosos.
Monte el sistema de archivos con la opción noexec:
sudo mount -t ext4 -o noexec storage_device.img ~/project/mount_point
La parte -o noexec
le dice a mount que use la opción noexec.
Probar la Opción noexec
Creemos un script de shell simple en el sistema de archivos montado e intentemos ejecutarlo:
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
Haga que el script sea ejecutable:
chmod +x ~/project/mount_point/test_script.sh
Ahora intente ejecutar el script:
~/project/mount_point/test_script.sh
Debería ver un mensaje de error como:
bash: /home/labex/project/mount_point/test_script.sh: Permission denied
Esto confirma que la opción noexec está impidiendo la ejecución del script.
Desmontar y Volver a Montar con la Opción de Solo Lectura (Read-Only)
Ahora, intentemos montar el sistema de archivos como de solo lectura (read-only). Primero, desmontelo:
sudo umount ~/project/mount_point
Luego, móntelo con la opción de solo lectura:
sudo mount -t ext4 -o ro storage_device.img ~/project/mount_point
La parte -o ro
le dice a mount que use la opción de solo lectura.
Probar la Opción de Solo Lectura
Intente crear un nuevo archivo en el sistema de archivos montado:
touch ~/project/mount_point/new_file.txt
Debería ver un mensaje de error como:
touch: cannot touch '/home/labex/project/mount_point/new_file.txt': Read-only file system
Esto confirma que el sistema de archivos está montado como de solo lectura.
Comprobar las Opciones de Montaje
Puede verificar las opciones de montaje (mount options) actuales utilizando el comando mount
:
mount | grep mount_point
Debería ver una salida que incluya ro
, lo que indica que la opción de solo lectura está activa:
/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,relatime)
Combinación de Opciones de Montaje
Puede combinar varias opciones de montaje separándolas con comas. Desmontemos el sistema de archivos y volvamos a montarlo con las opciones noexec y ro:
sudo umount ~/project/mount_point
sudo mount -t ext4 -o ro,noexec storage_device.img ~/project/mount_point
Verifique las opciones de montaje:
mount | grep mount_point
Debería ver ambas opciones en la salida:
/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,noexec,relatime)
Entendiendo las Opciones de Montaje
Las opciones de montaje que ha explorado son importantes para la seguridad y el control del acceso:
noexec
impide la ejecución de archivos binarios, lo que puede proteger contra código malicioso
ro
(read-only) impide los cambios en el sistema de archivos, lo que puede proteger la integridad de los datos
Estas opciones se utilizan comúnmente en entornos de producción para implementar el principio del mínimo privilegio, dando a los sistemas y usuarios solo el acceso que necesitan.