

Show HN: File Permissions Ninja - arnel
http://file-permissions.ninja

======
AnkhMorporkian
I love it, but it would be nice if it didn't break the back button every time
you click on a checkbox.

~~~
arnel
It's the permalink.

Every time you click on a checkbox the permalink is change according to the
permission, so its easier to copy the permalink. Therefore when you click the
back button you're going to the previous state.

Do you think its not a good behavior?

~~~
ajanuary
You can use replaceState to modify the url without adding a new history
entries.

~~~
arnel
Thanks for the comments.

I fixed it - and now its work with replaceState.

It's won't update until you load it without cache: ctrl+shift+R

------
piqufoh
Looks good, have been wanting something like this for a while. Bookmarked!

Also, love the use of .ninja domain - definitely most appropriate usage I've
seen to date!

~~~
arnel
I didn't bookmarked it ;)

I didn't because i wrote a small command line utility to open the site with
the right parameters.

You can also use it (instructions for ubuntu):

Copy the folowing to file with the name per:

#!/bin/bash

NC='\e[0m' # No Color

green='\e[0;32m'

blue='\e[0;34m'

if [ "$#" == "0" ]; then

echo "Usage: $0 filename" exit 1 fi

if [ "$#" != "1" ]; then

red='\e[0;31m'

echo -e "${red}$# Is illegal number of parameters.${NC}" exit 1 fi

usage(){

echo -e '\tper'

echo -e '\tOpen [http://file-permissions.ninja](http://file-permissions.ninja)
with permission of the file.'

exit 1

}

if [ "$1" == "help" ] || [ "$1" == "-help" ] || [ "$1" == "-h" ] ; then

usage

fi

mode="`LC_ALL=C LANG=C /bin/ls -ld "$1" | LC_ALL=C LANG=C awk '{ print $1 }'`"
|| exit $?

echo -e "${blue}Opening: ${green}[http://file-
permissions.ninja/#$mode${NC}"](http://file-permissions.ninja/#$mode${NC}")

xdg-open '[http://file-permissions.ninja/#'$mode](http://file-
permissions.ninja/#'$mode) &> /dev/null

exit 0

# EOF ----------------------------------

Move per to folder within the path.

Let's say:

sudo mv per /bin

Now grant it execute permission:

sudo chmod +x /bin/per

Now you can use it with:

per filename

it's supposed to open the site with the permissions of filename.

------
lazyant
Neat. I suggest adding an explanation of what the special bits do (tooltip
type of help on clicking the link?), as this is what's not obvious for most
people.

------
ajanuary
It needs to add numpad keys to it's whitelist. Currently I can't use the
numpad in the input boxes.

~~~
claar
Yeah, same problem here. At first I thought he had skipped out on allowing you
to type the mask, which is the killer feature of a utility like this.

Also, when typing into the binary input, it isn't updating immediately on key-
up like the rest of the inputs -- I'm having to hit the arrow keys to get it
to update.

Nice utility, though!

~~~
arnel
You two both right :(

I don't use numpad keys so i forgot to add them to the whitelist.

And yes - there is a small bug with the binary input. Thank you for bringing
this to my attention.

I'll fix these two issues!

------
dkopi
This is pretty cool and well done, but I kind of wish there was no need for
this to exist. It seems that as the world progresses to higher level language,
bit manipulations and binary calculation are the realm of dinosaurs.

------
DevUps
This is great, thanks! I suggest putting a check all box at the top of each
column. That's my 2 cents.

------
diaz
Great, I'll try to remember this to use it.

Now add an advanced mode for easy configuring setfacl :P

------
rikkus
Looks lovely.

Have you thought about the ugoa/rwx... etc. version of the flags, i.e. partial
setting?

~~~
arnel
Yep :)

Working on it...

------
GigabyteCoin
I actually stumbled across this on Google just yesterday and found it quite
useful.

------
Phogo
Easy to understand, really like the help walkthough style too. Nice job.

~~~
arnel
Thanks. The walkthrough is made with intro.js

Can be found here:
[https://github.com/usablica/intro.js](https://github.com/usablica/intro.js)

------
Erwin
Now please add a full interactive explanation of Posix ACLs.

------
phloxicon
Very handy. Thanks.

------
probinso
doesn't work with number pad

~~~
arnel
it was a small bug but i fixed it.

Now it should work with the number pad.

To make it work load it without cache: ctrl+shift+R

Thanks for the comment!

