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

  [global]
    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