Samba will allow Ubuntu to be both a server and a client. Here are two tutorials that should get you going in the right direction.
http://www.linuxquestions.org/linux/...k_File_Sharing
http://www.linuxquestions.org/linux/...amba_is_UP_NOW
Samba will also allow you to share a printer connected to the Ubuntu system with windows PC's. I don't have a MAC, but I believe they can do windows file sharing as well.
Take a stab at it, and see how far you can get on your own. Search the forum for answers, if you can not find the answer, then post a question, providing as much detail as you can.
I would suggest you install SWAT at the same time you install Samba. Swat makes administering samba shares easier. There is a lot of doc with swat, it helps a lot in picking the correct parameters for your configuration file.
Keep it as simple as possible at first. Get a share working, then you can slowly add to it.