Samba (Español)
(Traducción del artículo en inglés en curso)
Contents
Introducción
Samba es una reimplementación del protocolo de red SMB/CIFS. Facilita el intercambio de ficheros y de impresoras entre sistemas Linux y Windows, o entre sistemas Linux -como una alternativa a Nfs. Se configura fácilmente.
Instalación
Para instalar el servidor Samba, instala el paquete samba
# pacman -S samba
Configuración
Identificado como superusuario (root), copia el fichero por defecto de Samba a /etc/samba/smb.conf
# cp /etc/samba/smb.conf.default /etc/samba/smb.conf
Abre /etc/samba/smb.conf y edítalo según tus necesidades. El fichero está comentado y proporciona varios ejemplos. No debería ser difícil de entender.
El fichero, por defecto, crea una carpeta de intercambio para cada usuario. También crea un intercambio de impresoras.
Iniciando el demonio
Samba puede ser iniciado con
# /etc/rc.d/samba start
Samba normalmente usa FAM para vigilar los cambios en el sistema de ficheros. Necesitarás tener el demonio fam iniciado antes que samba. Una alternativa es usar Gamin
Añade samba a la línea DAEMONS en rc.conf para iniciar el demonio en cada arranque.
Añadiendo usuarios
Para usar Samba necesitarás añadir un usuario:
# smbpasswd -a <user>
El usuario debe tener una cuenta en el servidor. Si el usuario no existe recibirás el error:
Failed to modify password entry for user "<user>"
Puedes añadir un nuevo usuario con adduser
Accediendo a los intercambios Samba
KDE y Gnome pueden navegar por los directorios de intercambio Samba. De este modo, no necesitas ningún paquete adicional necesario si usas estos entornos de escritorio. (Sin embargo, para una GUI en la configuración del sistema de KDE usted tiene que instalar el paquete kdenetwork-filesharing package de [extra]. Otra opción es el programa es SMB4K). Si, por el contrario, tienes pensado el intercambio desde una consola de comandos, necesitarás un paquete más.
Desde Gnome
En una ventana de Nautilus, presiona Template:Keypress+Template:Keypress o ve al menú "Go-Ir" y selecciona "Lugar..." (N.T. no tengo Gnome, si esto es otra palabra que alguien lo edite si le place claro :) ). Cualquiera de las dos acciones te permitirá introducir smb://servername/share en la barra que aparece Template:Keypress.
smb://servername/sharename
or
smb://192.168.1.5/sharename
En KDE, es prácticamente igual (N.T. ídem). Para una interfaz gráfica necesitas instalar el paquete "kdenetwork-filesharing" desde el repositorio Extra.
Desde una consola
Puedes también usar smbclient para navegar por la red desde la consola.
$ smbclient -L <hostname> -U%
Listará los directorios públicos del servidor
Montando una compartición de Samba
Para montar manualmente una compartición a traves del shell:
# mount.cifs //<hostname>/<share> <punto_de_montaje> -o user=<username>,password=<password>
Para permitir a montar y desmontar una comparticion samba a un usuario normal puedes agregar setuid root a /sbin/mount.cifs. Una alternativa es usar el paquete smbnetfs.
Agregando una comparticion a fstab
Puedes agregar una linea a fstab de este modo:
//<hostname>/<share> <mount_point> cifs credentials=<credentials_file>,rw,user,noauto 0 0
Al ser fstab legible por todos los usuarios, no queremos poner nuestra contraseña Samba en este archivo. En este caso podemos usar un archivo de credenciales solo legible por ti. Es un simple archivo de texto que contiene:
username=<username> password=<password>
La opción user de la línea de fstab permite al propietario del <punto_de_montaje>, montar y desmontar la compartición. La opción noauto desabilita el montaje en el arranque.
Si estas agreagando una compartición Samba a fstab, debes agrear también el demonio netfs a rc.conf, en algun lugar después del demonio network. El demonio netfs montará particiones de red en el arranque y, mas importante, desmontar particiones de red en el apagado. Incluso si estás usando la opción noauto en fstab debes agregar el demonio netfs . Sin él cualquier comparticion de red que es desmontada cuando apagues la máquina, causará que el demonio network espere al time out de la conexión, extendiendo considerablemente el tiempo de apagado.
Compartiendo archivos en tu LAN sin usuario y contraseña
Editar el /etc/samba/smb.conf por defecto en las siguientes líneas:
security = user
a
security = share
Si quieres restringir los datos compartidos a una interfaz específica, reemplaza
; interfaces = 192.168.12.2/24 192.168.13.2/24
a (reemplaza eth0 a la red local en que quieras compartir)
interfaces = lo eth0 bind interfaces only = true
si quieres editar la cuenta que accede a los elementos compartidos, edita la siguiente línea:
; guest account = nobody
El último paso es crear un directorio compartido (para permitir la escritura colocar: writable = yes):
[Public Share] path = /ruta/hacia/la/comparticion/publica available = yes browsable = yes public = yes writable = no
Ejemplo de archivo de configuración
La configuración que me funcionó:
[global] workgroup = WORKGROUP server string = Samba Server netbios name = PC_NAME security = share ; la línea de abajo es importante! Si tienes problemas de permisos asegúrate de que el usuario es el mismo que el usuario de la carpeta que desea compartir guest account = mark username map = /etc/samba/smbusers name resolve order = hosts wins bcast wins support = no
[public] comment = Public Share path = /path/to/public/share available = yes browsable = yes public = yes writable = no
Solución de problemas
Si estás teniendo problemas accediendo a una compartición protegida desde Windows, prueba agregando esta línea al archivo /etc/samba/smb.conf Sugerencia encontrada aquí
[global] # THE LANMAN FIX client lanman auth = yes client ntlmv2 auth = no
Ver también
Mas Recursos
- Samba Samba (German) (archlinux.de)
- Sitio de Samba Oficial
- Samba: An Introduction