PyLibACL: https://github.com/iustin/pylibacl
Type make to build a binary that calls the Python program as well as a manpage.
make install will install the binary in /usr/local/bin, the python program in
/usr/local/lib and the manpage in /usr/local/share/man/man1)
Run the few existing tests: make test or nosetests
The setuid binary tool (owned by root) simply executes the Python script. Any dangerous code in the Python script will be executed with superuser permissions.
Let's say I have a directory called code/ in my $HOME directory.
-
I have no "projects" anywhere in my home directory
[naegelejd@erbium acls]$ project -P $HOME list [naegelejd@erbium acls]$ project -P $HOME info code Project config '/users/naegelejd/.code.yml' does not exist
-
The project tool can create projects anywhere
[naegelejd@erbium acls]$ project -P $HOME code2 [naegelejd@erbium acls]$ project -P $HOME list code2 [naegelejd@erbium acls]$ project -P $HOME info code2 Owner: naegelejd Members: Collaborators: Public: False
-
A project is just a directory, config file, and a Posix Access Control List
[naegelejd@erbium acls]$ project -P $HOME info code2 [naegelejd@erbium acls]$ project -P $HOME info code Owner: naegelejd Members: Collaborators: Public: False
-
Projects can be deleted
[naegelejd@erbium acls]$ project -P $HOME delete code [naegelejd@erbium acls]$ ls $HOME/code ls: cannot access /users/naegelejd/code: No such file or directory
I just deleted all my code!