Samba es el software que implementa en Linux el protocolo Netbios, usado nativamente por los sistemas Windows para comunicarse en red. Al instalar y activar Samba en un equipo Linux, este puede integrarse en una red Windows y compartir recursos.
Samba, al igual que Apache, es todo un clásico. Lleva muchos años como referencia, de ahí su solidez y popularidad.
En el capítulo anterior vimos cómo configurar Samba de la forma más sencilla posible, apenas unas líneas en el archivo /etc/samba/smb.conf, con las que el equipo Linux ya podía compartir carpetas y archivos en una red Windows de forma anónima.
Para proteger o restringir el acceso, basta una pequeña modificación en el archivo de configuración anterior, así como dar de alta usuarios Samba con sus correspondientes contraseñas.
Recuperando el archivo smb.conf inicial, destaco los cambios en negrita:
[global]
workgroup = INICIOMS
netbios name = Linux
server string = Servidor anonimo
security = share // línea modificada
encrypt passwords = yes // línea añadida
browseable = yes
hosts allow = 192.168.2.
[compartido]
path = /compartido
commnent = Archivos compartidos en Linux
read only = No
guest ok = Yes // línea eliminada
Para crear los usuarios y sus contraseñas de Samba, usamos el programa smbpasswd. Recuerda que deben ser usuarios del sistema, es decir del ordenador Linux donde corre Samba. Tecleamos en consola:
# smbpasswd -a fulano
El shell nos pedirá dos veces que escribamos la contraseña para el usuario fulano:
New SMB password:
Retype new SMB password:
Y si no ha habido problema nos informa que el nuevo usuario ha sido dado de alta en Samba:
Added user fulano
Ahora ya podrá ingresar con estos datos en la carpeta compartida de Linux, desde un PC Windows en red. Si no se autentifica, la carpeta de Linux será inaccesible.
Si la cantidad de usuarios Samba va a ser muy grande, existe un script llamado mksmbpasswd que convierte las entradas de /etc/passwd al formato de smbpasswd, aunque igualmente las contraseñas Samba hay que asignarlas a mano.
ACT 22/03/2011 --------------------------------------------------------------------------------------------------------------
Sin continuamos con problemas, esta es una config reciente que funciona correctamente
[global]
log file = /var/log/samba/log.%mload printers = yes
cups options = raw
netbios name = MAQUINA
server string = MAQUINA
default = global
workgroup = GRUPO_TRABAJO
os level = 20
security = share
passdb backend = tdbsam
max log size = 50