Linux is a born multiuser system - Windows became a multiuser system out of necessity - so Linux does all your requirements per default - separation of users and their data.
The only exception from your requirement is the shared partition for which you need to create a dedicated mount point (replace $SHARED with your chosen name)
sudo mkdir -p /data/$SHARED
The complete walkthrough for mounting the partition can be found in the following topic
And sample units for various use cases
When you have mounted the shared partition - set the permissions on the shared folder
sudo chmod ugo+rw /data/$SHARED
As for users - they are easily created using the commandline (replace $USERNAME with the actual name)
sudo useradd -mU $USERNAME
Then set a password for the user
sudo passwd $USERNAME