Yeah, that's not typically what linux traffic shaping is going for.
How would your router know which user is which based on tcp/ip packets?
Also, note that you can't really shape/limit inbound traffic, only outbound traffic - you have no control over what the internet sends to you, unless you can get to whatever is upstream of you and shape it's outbound traffic - to your inbound side.
Here's a possible way to think about it (although this is not a solution, just something to maybe get you thinking...)
You could mark traffic from specific ip addresses on your network that you associate with various users (or at least various devices that belong to various users.)
Now, you can use the different marks you gave each of those packets to put those packets into different buckets.
From there, it's up to you to figure out how you want to divvy up your outbound pipe among them.--
My place : »www.schettino.us