
Ich habe einen Ordner ~/nas
, den ich normalerweise verwende, sshfs
um ein Netzwerklaufwerk zu mounten. Heute habe ich nicht bemerkt, dass die Freigabe noch nicht gemountet war, und habe einige Daten dorthin kopiert. Es hat eine Weile gedauert, bis mir klar wurde, dass ich die Daten gerade auf mein eigenes lokales Laufwerk und nicht auf die Netzwerkfreigabe kopiert hatte. Gibt es eine Möglichkeit, im System zu markieren, dass dieser Ordner ein Mount-Punkt sein soll, und niemandem zu erlauben, Daten dorthin zu kopieren?
Ich habe die Berechtigungslösung hier ausprobiert:Wie kann einem Programm das Schreiben in ein Verzeichnis nur gestattet werden, wenn es gemountet ist?, aber wenn ich keinen Schreibzugriff habe, kann ich auch nichts darauf mounten.
Antwort1
Solange dunichtroot, können Sie einfach die Schreibberechtigung für den~/nasVerzeichnis für sich selbst und verwenden Sie sudo für die erhöhte Einbindung:
$ chmod u-w ~/nas
$ cd ~/nas
$ touch test
touch: cannot touch `test': Permission denied
$ cd ..
$ sudo mount -t fuse -o <options> sshfs#<user>@<host>:/mount/path/ ~/nas
$ cd ~/nas
$ touch test
$
Die Idee dahinter: ~/nas als Mount-Pfad wären die ihm zugewiesenen Berechtigungen, während das Ziel nicht gemountet ist, wodurch Änderungen durch Sie verhindert werden (solange Ihr Benutzer keine Root-Berechtigungen hat). Der Mount-Befehl (zur Ausführung sind Root-Berechtigungen erforderlich) ändert die Berechtigungen des Ordners vorübergehend auf die Berechtigungen des Ziels und gewährt Ihrem Benutzer Schreibzugriff.
Antwort2
Wir nutzten dieunveränderlich-Flag, um das Verzeichnis auch für Root-Zugriff zu schützen.
chattr +i /vmdata/backup
Auf diese Weise darf nicht einmal Root dort schreiben, wenn nichts gemountet ist. Nach dem Mounten der Festplatte funktioniert alles wie erwartet.
Antwort3
Dort kannst du die später vorgeschlagene Antwort verwenden:
1.: Überprüfen Sie mit dem Mount-Befehl, ob das Verzeichnis gemountet ist
mount | grep <mountpoint>
wird Ihnen sagen, ob dort etwas gemountet ist. Wenn Sie wirklich sicherstellen möchten, dass dort das Richtige gemountet ist, können Sie einen komplexeren regulären Ausdruck verwenden, aber ich glaube nicht, dass das notwendig ist.