Plash (die Principle of Least Authority Shell) ist eine Unix-Shell, in der man Programmen nur den Zugriff auf die Dateien gewährt, die sie benötigen. Um dies zu implementieren, wird das Dateisystem virtualisiert. Jeder Prozess kann seinen eigenen Namespace haben, der eine Untermenge aller Dateien enthält. Die Implementierung modifiziert die GNU libc und ersetzt darin alle Aufrufe, die Dateinamen verwenden. Zum Beispiel wird open() so geändert, daß es eine Nachricht zu einem Dateiserver über einen Socket sendet. Ist die Anfrage erfolgreich, sendet der Server dem Client einen Dateideskriptor. Die Prozesse laufen in einer chroot-Umgebung mit dynamisch erzeugen Benutzer-IDs. Es sind keine Kernel-Änderungen nötig. Vorhandene Linux-Programme arbeiten ohne Änderung. (hjb)