brain0 / appjail Goto Github PK
View Code? Open in Web Editor NEWLicense: Do What The F*ck You Want To Public License
License: Do What The F*ck You Want To Public License
appjail is a tool that runs an application in an isolated environment, or jail. It is designed to be executed by an unprivileged user. When called, it sets up a new IPC, mount and PID namespace. It then unmounts the /home, /var/tmp and /tmp directories and replaces them with private ones. The jail further gets its private POSIX shared memory space (/dev/shm) and private set of pseudo TTYs. Inside the jail, it is impossible to raise privileges using setuid binaries or file capabilities. appjail requires a kernel with the following options enabled: CONFIG_NAMESPACES=y CONFIG_IPC_NS=y CONFIG_PID_NS=y It also needs a file system with support for file capabilities. To compile and install appjail, run the following commands: $ ./autogen.sh $ ./configure $ make Then, as root, run # make install # setcap cap_sys_admin,cap_chown,cap_net_admin=p /usr/local/bin/appjail If you don't need the -N option, run instead # setcap cap_sys_admin,cap_chown=p /usr/local/bin/appjail Usage examples: * Run skype. Create ~/jailhomes/skype and execute $ appjail -X --x11-trusted -H ~/jailhomes/skype -R user --keep-ipc-namespace --keep-shm skype Qt applications like skype needs --keep-ipc-namespace to communicate with the X server via the MIT-SHM extension. Pulseaudio requires --keep-shm to function. * Run steam. Create ~/jaihomes/steam and execute $ appjail -X --x11-trusted -H ~/jailhomes/steam -R user --system-bus --keep-ipc-namespace --keep-shm steam Note that steam crashes without --system-bus. It works without --keep-ipc-namespace, but you lose hardware accelerated GUI rendering and video decoding.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.