Plash 1.16 reviewDownload
Plash is a replacement Unix shell which lets the user run Linux programs with access only to the files and directories that they need
Plash is a replacement Unix shell which lets the user run Linux programs with access only to the files and directories that they need to run.
Plash project works by virtualizing the filesystem. Each process can have its own file namespace.
This implemented in two steps: Firstly, processes are run in a chroot() environment under different UIDs, so they can't access files using the normal Linux system calls and are isolated from each other. Secondly, in order to open files, a process makes requests to a server process via a socket; the server can send file descriptors across the socket in reply.
Plash dynamically links programs with a modified version of GNU libc so that they can do filesystem operations using this different mechanism.
No kernel modifications are required. Plash can run Linux binaries unmodified, provided they are dynamically linked with libc, which is almost always the case.
In most cases this does not affect performance because the most frequently called system calls, such as read() and write(), are not affected.
What's New in This Release:
The replacement GtkFileChooserDialog class has been rewritten, which allows the powerbox file chooser to work with a lot more GTK applications (including Firefox, Gnumeric, and Inkscape).
The documentation has been reorganised, and examples, screenshots, etc. have been added.
The build process has been revised, and an autoconf script added.
Test cases have been added.
A bug in exec-object has been added.
This release is available from an SVN repository.
Plash 1.16 keywords