Esto no necesariamente es la mejor forma, pero es la que me funciono :)
Para esto el linux antes que nada debe contar con el servicio samba.
En mi caso para partir con un ejemplo que me fuera útil, montare la carpeta '/var/www' donde apache almacena los fuentes de los sitios web.
Creamos el grupo sharer
#sudo groupadd sharer
Creamos el usuario sharer perteneciente al grupo sharer
#sudo useradd --gid sharer --shell /bin/false sharer --home /nonexistent
le asignamos una clave al usuario sharer
#sudo smbpasswd -a sharer
para este ejemplo compartiremos la carpeta /var/www
#cd /var
#sudo chown tu_username:sharer www
#sudo chmod 775 www
#sudo chmod g+s www
editamos /etc/samba/smb.conf
security = share
[www]
path = /var/www
valid users = sharer
read only = No
create mask = 0777
directory mask = 0777
path = /var/www
valid users = sharer
read only = No
create mask = 0777
directory mask = 0777
Ahora reiniciamos samba
#sudo /etc/init.d/samba restart
Codigo para montar desde un linux (probado en un linux ubuntu 9.10)
sudo mount -t cifs //192.168.1.130/www /mnt/smb -o username=sharer,password=xxxxx
Ahora viene montar la unidad desde windows
En mi caso tengo el windows en ingles
En windows nos vamos al explorador de windows
ahí seleccionamos Tools->Map Network Drive
En mi caso le asigne la unidad 'Z'
y la carpeta \\la_ip_de_mi_linux\www
Selecciono: Connect using a different user name (conectarse con un usuario distinto).
usuario: sharer
password: cla clave asignada al usuario sharer
Presionamos 'OK' y finalmente 'Finish'
Quedando finalmente asi.