Mount-Optionen für Sicherheit und Zugriffskontrolle
In diesem Schritt lernen Sie, wie Sie Mount-Optionen verwenden, um zu steuern, wie auf das Dateisystem zugegriffen werden kann. Mount-Optionen bieten zusätzliche Kontrolle über das Verhalten des Dateisystems, z. B. das Einschränken von Ausführungsberechtigungen oder das Festlegen eines Dateisystems als schreibgeschützt.
Unmounten des aktuellen Dateisystems
Bevor Sie neue Mount-Optionen anwenden, müssen Sie das aktuelle Dateisystem unmounten:
sudo umount ~/project/mount_point
Wenn Sie eine Fehlermeldung erhalten, dass das Gerät belegt ist, stellen Sie sicher, dass Sie sich nicht gerade im Mount-Punkt-Verzeichnis befinden:
cd ~/project
Versuchen Sie dann erneut, es zu unmounten.
Mounten mit der Option noexec
Die Mount-Option noexec
verhindert die Ausführung von Binärdateien auf dem gemounteten Dateisystem. Dies ist eine Sicherheitsfunktion, die verhindern kann, dass bösartige Skripte oder Programme ausgeführt werden.
Mounten Sie das Dateisystem mit der Option noexec:
sudo mount -t ext4 -o noexec storage_device.img ~/project/mount_point
Der Teil -o noexec
weist mount an, die Option noexec zu verwenden.
Testen der Option noexec
Erstellen wir ein einfaches Shell-Skript auf dem gemounteten Dateisystem und versuchen wir, es auszuführen:
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
Machen Sie das Skript ausführbar:
chmod +x ~/project/mount_point/test_script.sh
Versuchen Sie nun, das Skript auszuführen:
~/project/mount_point/test_script.sh
Sie sollten eine Fehlermeldung wie diese sehen:
bash: /home/labex/project/mount_point/test_script.sh: Permission denied
Dies bestätigt, dass die Option noexec die Skriptausführung verhindert.
Unmounten und erneutes Mounten mit der Option Read-Only (ro)
Versuchen wir nun, das Dateisystem als schreibgeschützt zu mounten. Unmounten Sie es zuerst:
sudo umount ~/project/mount_point
Mounten Sie es dann mit der Option Read-Only:
sudo mount -t ext4 -o ro storage_device.img ~/project/mount_point
Der Teil -o ro
weist mount an, die Option Read-Only zu verwenden.
Testen der Option Read-Only
Versuchen Sie, eine neue Datei auf dem gemounteten Dateisystem zu erstellen:
touch ~/project/mount_point/new_file.txt
Sie sollten eine Fehlermeldung wie diese sehen:
touch: cannot touch '/home/labex/project/mount_point/new_file.txt': Read-only file system
Dies bestätigt, dass das Dateisystem als schreibgeschützt gemountet ist.
Überprüfen der Mount-Optionen
Sie können die aktuellen Mount-Optionen mit dem Befehl mount
überprüfen:
mount | grep mount_point
Sie sollten eine Ausgabe einschließlich ro
sehen, die anzeigt, dass die Option Read-Only aktiv ist:
/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,relatime)
Kombinieren von Mount-Optionen
Sie können mehrere Mount-Optionen kombinieren, indem Sie sie durch Kommas trennen. Unmounten wir das Dateisystem und mounten es erneut mit den Optionen noexec und ro:
sudo umount ~/project/mount_point
sudo mount -t ext4 -o ro,noexec storage_device.img ~/project/mount_point
Überprüfen Sie die Mount-Optionen:
mount | grep mount_point
Sie sollten beide Optionen in der Ausgabe sehen:
/home/labex/project/storage_device.img on /home/labex/project/mount_point type ext4 (ro,noexec,relatime)
Verstehen von Mount-Optionen
Die Mount-Optionen, die Sie untersucht haben, sind wichtig für die Sicherheit und die Steuerung des Zugriffs:
noexec
verhindert die Ausführung von Binärdateien, was vor bösartigem Code schützen kann
ro
(Read-Only) verhindert Änderungen am Dateisystem, was die Datenintegrität schützen kann
Diese Optionen werden häufig in Produktionsumgebungen verwendet, um das Prinzip der geringsten Privilegien (principle of least privilege) zu implementieren, wodurch Systeme und Benutzer nur den Zugriff erhalten, den sie benötigen.