Параметры монтирования для обеспечения безопасности и контроля доступа
На этом этапе вы научитесь использовать параметры монтирования для контроля доступа к файловой системе. Параметры монтирования предоставляют дополнительный контроль над поведением файловой системы, например, ограничение прав на выполнение или установка файловой системы в режиме только для чтения.
Демонтирование текущей файловой системы
Перед применением новых параметров монтирования необходимо демонтировать текущую файловую систему:
sudo umount ~/project/mount_point
Если вы получите сообщение об ошибке, говорящее, что устройство занято, убедитесь, что вы не находитесь в каталоге точки монтирования:
cd ~/project
Затем попробуйте выполнить демонтирование снова.
Монтирование с параметром noexec
Параметр монтирования noexec
запрещает выполнение любых бинарных файлов на смонтированной файловой системе. Это функция безопасности, которая может предотвратить запуск вредоносных скриптов или программ.
Монтируйте файловую систему с параметром noexec:
sudo mount -t ext4 -o noexec storage_device.img ~/project/mount_point
Часть -o noexec
сообщает команде mount
использовать параметр noexec.
Тестирование параметра noexec
Создадим простой сценарий на языке shell на смонтированной файловой системе и попробуем его выполнить:
echo '#!/bin/bash' > ~/project/mount_point/test_script.sh
echo 'echo "This script is running"' >> ~/project/mount_point/test_script.sh
Сделайте сценарий исполняемым:
chmod +x ~/project/mount_point/test_script.sh
Теперь попробуйте выполнить сценарий:
~/project/mount_point/test_script.sh
Вы должны увидеть сообщение об ошибке, подобное следующему:
bash: /home/labex/project/mount_point/test_script.sh: Permission denied
Это подтверждает, что параметр noexec препятствует выполнению сценария.
Демонтирование и повторное монтирование с параметром только для чтения
Теперь попробуем смонтировать файловую систему в режиме только для чтения. Сначала демонтируйте ее:
sudo umount ~/project/mount_point
Затем смонтируйте ее с параметром только для чтения:
sudo mount -t ext4 -o ro storage_device.img ~/project/mount_point
Часть -o ro
сообщает команде mount
использовать параметр только для чтения.
Тестирование параметра только для чтения
Попробуйте создать новый файл на смонтированной файловой системе:
touch ~/project/mount_point/new_file.txt
Вы должны увидеть сообщение об ошибке, подобное следующему:
touch: cannot touch '/home/labex/project/mount_point/new_file.txt': Read-only file system
Это подтверждает, что файловая система смонтирована в режиме только для чтения.
Проверка параметров монтирования
Вы можете проверить текущие параметры монтирования, используя команду mount
:
mount | grep mount_point
Вы должны увидеть вывод, включающий ro
, что указывает на то, что параметр только для чтения активен:
/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,relatime)
Комбинирование параметров монтирования
Вы можете комбинировать несколько параметров монтирования, разделяя их запятыми. Давайте демонтируем файловую систему и смонтируем ее снова с параметрами noexec и ro:
sudo umount ~/project/mount_point
sudo mount -t ext4 -o ro,noexec storage_device.img ~/project/mount_point
Проверьте параметры монтирования:
mount | grep mount_point
Вы должны увидеть оба параметра в выводе:
/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,noexec,relatime)
Понимание параметров монтирования
Параметры монтирования, которые вы рассмотрели, важны для обеспечения безопасности и контроля доступа:
noexec
запрещает выполнение бинарных файлов, что может защитить от вредоносного кода
ro
(только для чтения) запрещает изменения в файловой системе, что может защитить целостность данных
Эти параметры обычно используются в производственных средах для реализации принципа минимальных привилегий, предоставляя системам и пользователям только необходимый доступ.