Another option for network file sharing is sshfs, which allows you to mount a remote directory locally over an encrypted connection.
It is very easy to configure and enabled by default on Raspbian if the ssh server is. To check, look for this line somewhere in /etc/sshd_config (that's sshd_config, not ssh_config); it is usually near the bottom:
Yes - Samba is a good choice for what you want to do.
There are many good resources for setting up Samba, here's one I created
The main alternative for Samba is NFS. Each has its pros and cons. I use Samba because I'm more familiar with it. You can research the tradeoffs by doing a search like this one.
There's a fair amount of effort ...