En primer lugar instalaremos Samba, en este caso los binarios directamente:

pkg_add -r samba3

Luego copiamos el archivo de configuración de ejemplo, para tener una base de donde partir:

cp /usr/local/share/examples/samba/smb.conf.default /usr/local/etc/smb.conf

Editamos el nuevo smb.conf para especificar el tipo de autenticación y base de datos a utilizar, asegurándonos de que quedan dos líneas de la siguiente manera:

security = user
passdb backend = tdbsam

Ahora ya podemos iniciar el servicio ejecutando:

/usr/local/etc/rc.d/samba start

Creamos un nuevo usuario con el comando adduser, que luego utilizaremos para darle permisos a los recursos SMB. En este caso el usuario se llamará smbtest.

Añadimos el nuevo usuario a la base de datos que utiliza Samba con el siguiente comando:

pdbedit -a -u smbtest

Ahora modificaremos de nuevo el archivo smb.conf. En primer lugar para evitar que se cree un recurso compartido del tipo HOME para cada usuario, eliminando (o comentando) toda la sección [homes]. En segundo lugar añadiremos la carpeta que queremos compartir, con las siguientes líneas:

[compartida]
comment = Compartida
path = /usr/compartida
valid users = smbtest
public = no
writable = yes
printable = no

Reiniciamos el servicio para que coja la nueva configuración:

/usr/local/etc/rc.d/samba stop
/usr/local/etc/rc.d/samba start

Con esto, y siempre que tengamos creada la carpeta /usr/compartida, ya nos aparecerá el nuevo recurso al “explorar la red” desde cualquier Windows u otra máquina con soporte para Samba.

Por último habilitamos el inicio del servicio al arrancar el equipo, añadiendo la siguiente línea al archivo /etc/rc.conf:

samba_enable="YES"

Más información en el FreeBSD Handbook.