Um dies zu lösen, benötigen Sie offensichtlich ein besseres Berechtigungssystem als ein FAT-Dateisystem. Dies kann durch Verwendung eines Overlay-Dateisystems gelöst werden :
Das FAT-Dateisystem ist normal gemountet und für den Benutzer überhaupt nicht zugänglich .
Die Berechtigungen werden von einem Dateisystem verwaltet, das seine Dateien genauso wie Dateien im FAT-Dateisystem speichert. Sie können jedoch zusätzliche Funktionen wie ein Berechtigungssystem implementieren.
(Ich weiß nicht, welches Dateisystem Ihren Anforderungen entsprechen würde, aber ich gehe davon aus, dass es mehr als eines gibt, das verwendet werden könnte, wobei die meisten ihrer Funktionen ignoriert werden.)
Dieses Overlay- oder Union-Dateisystem ist das, auf das der Benutzer zugreifen wird und in dem Sie eingeschränkte Berechtigungen festlegen können.
Das Berechtigungssystem wäre nur der normale Unix / Linux-Stil.
Auf diese Weise können Sie nur Schreibberechtigungen für alle Dateien und Verzeichnisse festlegen .
Um durch ein Verzeichnis zu navigieren, muss der Benutzer die Datei- und Verzeichnisnamen nicht auflisten. Er muss aber selbst auf die beteiligten Verzeichnisse zugreifen - .
und ..
.
Sie können mit einer speziellen Art von Berechtigung genau das zulassen, was er benötigt: Verzeichnisse haben die x-Berechtigung wie Dateien - sind aber überhaupt nicht ausführbar . Diese unbenutzte Verzeichnis-Ausführungsberechtigung wird verwendet, um genau das zu erledigen, was Sie benötigen . Wenn das r-Bit nicht gesetzt ist, aber das x ist, kann der Benutzer immer noch das kleine Bit lesen, das er hier benötigt.
Der Benutzer kann sie dann nicht auflisten, er kann jedoch Verzeichnisse verwenden, die er selbst kennt. Er kann ** in ** bekannte Verzeichnisse.
Legen Sie eine restriktive Umask für den Benutzer fest, um die richtigen Berechtigungen für neue Dateien festzulegen .