If I have photos, mp3s, books and other miscellaneous stuff that I want all users to able to access from a common directory, where on a Linux file system should I put that directory? In /usr/share, or just in /usr, or create a new top-level directory instead?
FHS compliance is not an issue. FHS is a standard for your distribution and applications to follow. A distribution or application should never create a top-level directory, but as a user and system administrator, the filesystem namespace is yours to use as you wish.
Putting it in
Similarly, avoid directories that are managed by your distribution.
Above all, remember it's your filesystem so there's nothing wrong with creating a new top-level directory.
I usually put this in
As root, or using sudo:
Then I put each user that needs to access these data in the
You could also use ACLs to manage each user's right for the directory.
You could also use
So yes, a subdirectory of
Less pedantically, /home (as suggested by raphink) seems like a good choice. You probably have /home on its own partition, both so that you can easily blow away the rest of the OS without touching user data (eg, when doing an upgrade or reinstall) and for ease of backup (as everything you care to back up is stored under /home), and for space management reasons (on most home boxes, the partition with /home ends up being the one that runs out of space first).