Samba is a program that allow you to share files and printer with Windows clients. The first thing you need to do is download SAMBA. SAMBA website is here. Once downloaded you need to install it. You should consult your manual for how to install application.
All the config files are kept in the /etc/samba directory. The only one you need to worry about is the smb.conf file. Below I have included my smb.conf file. I would suggest running DNS on your network too.
There is a app called Webmin that you can get here. This app allows you to configure almost any app from a web browser. I would suggest installing it to make configuration of SAMBA, DNS, email servers, DHCP.... easier.
The next thing you need to do is add users locually to you Linux box, to do that type useradd -p at the command line. Then you need to add user to SAMBA. Type smbpasswd -a at the command line. Make sure that the name and password are the same as the ones you use on the Windows machine.
The last thing you need to do is make sure you setup your local file permissions. To do this you need to go to the directory that you shared and type chmod 666 . Example: The directory you want to share is /home/shares, so type chmod 666 /home/shares. This will allow all to have read/write access. I know some might think that causes security issue. I'm not writing this with businesses in mind, this is for the home user. /etc/samba/smb.conf
Download the file here
smb passwd file = /etc/samba/smbpasswd
printing = cups
dns proxy = no
security = user
encrypt passwords = yes #This is needed for Win95 and up to authenticate passwords
workgroup = MyWorkgroup #This is the name of your workgroup that shows up in network neighborhood
server string = Samba Server %v
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
netbios name = MyPC #This your server name
log file = /var/log/samba/log.%m
load printers = yes
os level = 33
wins support = true
printcap name = lpstat
max log size = 50
# [printers]
# comment = All Printers
# path = /var/spool/samba
# browseable = no
# guest ok = yes
# writable = no
# printable = yes
# create mode = 0700
[sharename] #This is the name of the share as it will show up in network neighbor hood
path = /path/to/share #This is the path to the directory that you want to share such as /home/share
writable = yes
valid users =user1,user2 #Names of valid users for this share
create mode = 775
directory mode = 775
write list = user1 #Names of users with write permissions
read list = user2 #Names of users with read-only permmisions