- What It Does
-
shac aims to gather all available permission data on a unix-ish system and report back, in a sane and
machine-readable format, whether a certain user has certain permissions on certain files and why or why
not. as well as the ubiquitous read, write and execute perms, you can check create and delete. possible
uses range from analyzing a permission situation that is confusing by an admin/geek to providing machine-readable
output to a calling script for some automated process.
- Example
-
pizza@pizzabox:~/proj/shac$ ./shac -v .
VB verbose mode...
OK / (o+x) (mnt /dev/hda3)
OK /home (o+x)
OK /home/pizza (u+x)
OK /home/pizza/proj (u+x) (mnt /dev/hdb11)
OK /home/pizza/proj/shac (u+r)
OK user 'pizza' has perms 'r' on file /home/pizza/proj/shac
- Why Would I Want It?
-
Because UNIX permissions are easy to screw up and hard to get right. Hopefully this gets you to the latter a
little quicker and easier.
- Getting shac
-
Here's how to fetch the latest sources.
git clone git://github.com/pizza/shac.git ~/shac
cd ~/shac/src
make
sudo make install
or visit shac's github homepage
- Development
-
shac is written in C. It's just me working on it, any help would be appreciated, even if you just drop me a note letting me
know shac compiled and ran on your platform (or didn't, and the error message). Patches of course are appreciated :)
- Target Platforms
-
Any POSIX system: Linux, FreeBSD, OpenBSD, etc.
- Inspiration
-
I got the idea for this program from michael zalewski's page of fallen ideas. the man is full of good ideas, even if he thinks they're stupid.
- Status
-
Beta. It has all the features, even the cool ones, that I originally envisioned. But it needs testing, lots of testing.
I need to build a whole test suite, but have not done so.
- Resources
-