Over the years I've had many fights with Samba. Some won, some lost; but overall, Samba is a great piece of software for sharing data across networks. In this example, we'll be setting up a simple Samba share that can be accessed (without restriction) via Windows or any other environment.
First we'll need to install Samba if it isn't already using your preferred package management system. Depending on your distribution, most repositories carry Samba. Afterwards, you'll probably want to make a backup of the original configuration.
sudo apt-get install samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Now there are a few things you will want to know before moving forward.
Once we have that information we can proceed with creating our samba configuration using your favorite editor.
sudo nano /etc/samba/smb.conf
Then paste in the following; adjusting to your steup
[global]
workgroup = MSHOME
netbios name = media
wins support = yes
guest account = nobody
security = share
# our share name in [share]
[movies]
# our share path
path = /home/Sean/Movies
writeable = yes
browseable = yes
guest ok = yes
guest account = nobody
public = yes
[pictures]
path = /home/Sean/Pictures
writeable = yes
browseable = yes
guest ok = yes
guest account = nobody
public = yes
Then restart the Samba service
sudo service samba restart
Now you should be able to access your share from any other machine
\\netbios\share
smb://netbios/share