Mini howto para compartir un recurso a través de samba. Consiste en la instalación, configuración y prueba del mismo.
INSTALACIÓN
apt-get install samba
CONFIGURACIÓN
En /etc/samba/smb.conf se deben configurar los recursos compartidos, los permisos, usuarios, etc. Un ejemplito graficador sería el siguiente:
[frontend1]
comment = Directorio /var/www/ellitoral
writeable = yes
browseable = yes
public = yes
valid users = desarrollo
guest only = yes
path = /var/www/ellitoral
force group = www-data
force user = www-data
create mask = 0600
directory mask = 0600
El recurso compartido es el que esta entre corchetes, permite ser escrito y navegable, el usuario válido es desarrollo. Este usuario debe ser creado primero en el sistema (useradd desarrollo) y por seguridad poner en /etc/passwd /bin/false. Luego se lo debe crear con el comando de samba smbpasswd de la siguiente manera:
#smbpasswd -a desarrollo
PASSWD: *******
De este modo samba ha creado un usuario para acceder a los recursos compartidos a los que se lo asocie.
Siguiendo con el archivo de configuración… La variable path indica cual es el directorio que se va a compartir y los demás parámetros están asociados al dueño y grupo que tendrán los archivos creados por el usuario que se conecte por samba (para el ejemplo desarrollo) y con qué permisos se crearán tanto los archivos como directorios.
PROBANDO SAMBA
Para probar el servicio simplemente nos conectamos desde otro equipo, o desde el mismo (ip 127.0.0.1) utilizando el siguiente comando:
$smbclient //DIR-IP/frontend1 CLAVEDESARROLLO -U desarrollo
donde DIR-IP es la dirección ip, frontend1 es el nombre del recurso compartido y CLAVEDESARROLLO es la contraseña
Esto nos conecta al recurso compartido de modo similar al que lo hace el comando ftp, podemos utilizar put y get para probar de descargar o subir algún archivo.
Con un FIREWALL en el medio…
Los puertos que usa son TCP 445 y 139, y UDP 137.
Si las pc clientes (con win) no tienen instalado netbios ,entonces se usa el 445 sino se utilizan los otros dos, el UDP para descubrir los nombres de los recursos y el TCP para las transferencias..