Ist es möglich, den encfs-Mount-Punkt unbeschreibbar zu machen, wenn er nicht angehängt ist?

1656
Quantumboredom

Ich benutze encfs und war damit ziemlich zufrieden, aber ich habe ein Problem, das etwas nervig sein kann.

Angenommen, mein Lieblingsmontagepunkt ist ~ / encfsmnt. Mein Problem ist, dass wenn meine Encfs noch nicht gemountet sind, das nicht offensichtlich ist. Vielleicht schreibe ich glücklich in das Verzeichnis ~ / encfsmnt, anstatt dass die Daten durch encfs in das untere Verzeichnis encfs verschlüsselt werden.

Die offensichtliche Möglichkeit, dies zu beheben, wäre, den Dateimodus von ~ / encfsmnt beispielsweise auf 400 (dr --------) zu setzen, aber anscheinend erfordert encfs, dass das Mount-Point-Verzeichnis für den Mount beschreibbar ist erfolgreich (ich erhalte die Fehlermeldung "fusermount: Benutzer hat keinen Schreibzugriff auf Mountpoint").

Gibt es eine Möglichkeit, meinen Mount-Punkt nicht beschreibbar zu machen, es sei denn, dass encfs tatsächlich daran angehängt ist?

3

1 Antwort auf die Frage

4
Hauke Laging

Ich habe Angst, entweder schreibbar oder nicht. Um es nur für einen bestimmten Prozess (fusermount) beschreibbar zu machen, benötigen Sie wahrscheinlich ein LSM (Apparmor, SELinux oder ähnliches). Dies erfordert natürlich Root-Zugriff.

Die einfachere Lösung könnte die Integration chmod u+w ~/encfsmntin den fusermount-Aufruf sein (wenn Sie keine GUI für Sie haben). Erstellen Sie ein kleines Skript, das dies nach dem Aufruf von fusermount ausführt (und löscht den Schreibzugriff nach umount).

Oder ändern Sie den Mountpoint: Machen Sie ~ / encfsmnt.mp zum Mountpoint (wenn dies möglich ist, gewöhnen Sie sich ansonsten an ein anderes Ziel). Innerhalb des gemounteten ~ / encfsmnt.mp erstellen Sie ein Verzeichnis, in dem alle Ihre (neuen) Dateien abgelegt werden: ~ / encfsmnt.mp / new Sie erstellen dasselbe Verzeichnis in dem nicht gemounteten ~ / encfsmnt.mp. Aber du schreibst diesen Schutz.

Dann machen Sie ~ / encfsmnt einen Symlink zu ~ / encfsmnt.mp / new. Wenn es nicht gemountet ist, ist das Verzeichnis schreibgeschützt, wenn es gemountet ist, ist es schreibbar. Dies funktioniert natürlich nicht, wenn Sie in dieses Verzeichnis wechseln.

Hmm, interessante Idee: Funktioniert fusermount, wenn ~ / encfsmnt Schreibrechte hat, aber keine Ausführungsrechte?

Es werden Ausführungsrechte benötigt ("fusermount: Fehler beim Wechseln zu Mountpoint: Berechtigung verweigert"). Aber ich mag die Idee, ein Unterverzeichnis mit 000 Berechtigungen im nicht gemounteten Verzeichnis zu haben. Ich muss nur "-o nonempty" verwenden, um das mount zu erzwingen, und ich habe im Wesentlichen das, was ich brauche, danke! Quantumboredom vor 11 Jahren 2
@Quantumboredom +1 für ein Unterverzeichnis mit 000 Berechtigungen im nicht gemounteten Verzeichnis. Kannst du das als vollständige Antwort posten, zum Vorteil derjenigen, die vielleicht nicht in Kommentare eingehen? Amir vor 7 Jahren 0