Linux permissions

From Bitpost wiki

Managing a shared folder with a linux group

sudo groupadd mygroup # create a group
sudo usermod -a -G mygroup $USER # add yourself
sudo usermod -a -G mygroup someone # (and others)
mkdir myshare && chmod ug+ws myshare # set up a folder for sharing - you want g+w(rite) and g+s(ticky)

If you need to share an existing folder, you need to do +w and also retroactively update +s on all the directories manually with this stupid hack (because -R doesn't work, stupid linux bullshit):

chmod ug+ws existingshare
find existingshare -type d -exec chmod ug+s {} \;
find existingshare -type f -exec chmod ug+w {} \;

If this is a git repo, it should be configured to behave:

git config core.sharedRepository group

Restricting a user to a specific folder

I have found that for several folders on my server I do not have the w+x bit set for folders:

drwxrwxr-- 12 m m 4.0K Feb  3  2017 .

This was killing me, as I tried to set user-specific permissions on symlinks to subfolders deep within the top level folder. They would fail because the user could not cd to the folder due to the missing +x. You have to make sure the WHOLE F'IN FOLDER CHAIN HAS g+x ON IT in order for a specific user to be able to cd to it.