viernes, 9 de marzo de 2012

Samba: operaciones de red cliente-servidor

info: web.mit.edu

Vía guia-ubuntu.org:
Samba es un software que permite a tu ordenador con Ubuntu poder compartir archivos e impresoras con otras computadoras en una misma red local.
Utiliza para ello un protocolo conocido como SMB/CIFS compatible con sistemas operativos UNIX o Linux , como Ubuntu, pero además con sistemas Windows (XP, NT, 98...), OS/2 o incluso DOS. También se puede conocer como LanManager o NetBIOS.

Si Ubuntu te ha detectado correctamente la red local, que es lo mas habitual, cuando selecciones una carpeta y hagas click en el botón derecho del ratón, si le das a Compartir carpeta, al seleccionar un protocolo se iniciará un proceso automático de descarga desde Internet e instalación de Samba. También se puede instalar de la forma habitual usando Añadir y quitar... o Synaptic.

Via linux-cd.com.ar:
Muchos sistemas operativos, incluidos Windows y OS/2, usan SMB para operaciones de red cliente-servidor. Mediante el soporte de este protocolo, Samba permite a los servidores Unix entrar en acción, comunicando con el mismo protocolo de red que los productos de Microsoft Windows. De este modo, una máquina Unix con Samba puede enmascararse como servidor en tu red Microsoft y ofrecer los siguientes servicios:
  • Compartir uno o más sistemas de archivos.
  • Compartir impresoras, instaladas tanto en el servidor como en los clientes.
  • Ayudar a los clientes, con visualizador de Clientes de Red.
  • Autentificar clientes logeándose contra un dominio Windows.
  • Proporcionar o asistir con un servidor de resolución de nombres WINS.
Vamos primero a instalar Samba: apt-get install samba.
La configuración del servidor samba se realiza en el archivo /etc/samba/smb.conf el cual podemos modificar de la siguiente manera: nano /etc/samba/smb.conf.
Nos vamos al final del documento y escribimos:
[global]
workgroup = DOCS
security = share
interfaces = eth0


[data]
comment = Documentation Samba Server
path = /home/rafakatu/Escritorio/rafacomparte
read only = Yes
guest only = Yes
En [global] realizamos la configuración global del servidor, mientras que en [data], que se puede llamar como queramos (llamado recurso compartido), y que es el nombre que el usuario externo tiene que poner en la ruta, ponemos las propiedades referidas a cada recurso compartido.
Con esto, lo que hago es compartir la carpeta que está en  "/home/rafakatu/Escritorio/rafacomparte" (que no es necesario tener compartida), con todos los usuarios. Mediante el siguiente comando, un usuario externo puede crearse un acceso a dicha carpeta en su escritorio:

mount -t smbfs //192.168.1.105/data /home/jcab/Escritorio/mount/

(Puede que haya que instalar también el paquete "apt-get install smbfs".)
Esto es, con esto el usuario externo se conecta a mi ordenador 192.168.1.105 y monta la carpeta mia en su escritorio en una carpeta con ruta "/home/jcab/Escritorio/mount/". Le debe pedir una contraseña, le mete una y listo.

Para desmontar la unidad montada: "umount /home/jcab/Escritorio/mount".

Para iniciar, reiniciar o parar los servicios de Samba hay dos opciones:

service smbd start | restart |stop
/etc/init.d/smbd  start | restart |stop

Ejemplo de compartir la unidad CD-ROM:
[cdrom]
 comment = Cd Rom Compartido
 path = /media/cdrom0
 public = yes
 writable = no
 browseable = yes
Los parámetros de configuración de GLOBAL:

  • check password script : permite definir un script que verificará la complejidad de la contraseña definida, retornando 0 si es aprobada por el programa indicado
  • debug uid : permite registrar los uid, gid, euid y egid del usuario que solicita un recurso en el log del servidor
  • domain master : habilita a nmbd con un nombre NetBios específico que lo identifica como maestro de dominio del grupo de trabajo indicado
  • guest account : usuario utilizado para acceder a los recursos que tienen definido "guest ok"
  • include : incluye otro archivo de configuración complementario
  • debuglevel o log level : permite definir el nivel de detalle del log; incluso por módulo: all ,tdb ,printdrivers ,lanman ,smb ,rpc_parse ,rpc_srv ,rpc_cli ,passdb ,sam ,auth ,winbind ,vfs ,idmap ,quota ,acls ,locking ,msdfs ,dmapi ,registry
  • map to guest : le indica al servidor la acción a tomar cuando falla el inicio de sesión de un usuario. inútil en security = share o server
  • max log size : tamaño máximo del log
  • message command : le indica al servidor la acción al recibir un mensaje tipo WinPopup
  • netbios name : nombre netbios del servidor samba
  • null passwords : permite el acceso a usuarios con contraseñas vacías
  • panic action : comando a realizar al caerse smbd o nmbd
  • prefered master o preferred master : indica si samba es preferencialmente maestro en el grupo de trabajo
  • security : determina cómo los clientes responden el logeo (usuario y contraseña) según el "security mode bit" enviado en las negociaciones de protocolo.
    • share : clientes se registran al solicitar un recurso (permite ver la lista de recursos para visitas)
    • user : clientes se registran al solicitar la lista de recursos o solicitar un recurso
    • domain : idéntico al anterior, pero los datos de registro se consultan con controlador de dominio
    • server : idéntico al anterior, pero los datos de registro se consultan con servidor SMB
  • server string : texto desplegado como nombre completo del servidor

Los parámetros de configuración del recurso compartido (en nuestro ejemplo DATA):
  • administrative share : recurso administrativo. creado por defecto en sistemas MS. Por Ejemplo: C$ , D$ , IPC$.
  • admin users : lista de usuarios con total permiso sobre los recursos (no aplica si secury = share)
  • browsable o browseable : define si el recurso es apreciable en la lista de recursos del servidor
  • comment : permite definir un comentario aplicado al recurso, desplegable en los recursos de toda la red; a través de net view o de smbclient
  • create mode o create mask : permite restringir los permisos de los archivos/directorios creados en un recurso a través de una máscara de permisos
  • force create mode : permite aplicar permisos a los archivos/directorios creados en un recurso
  • directory mode o directory mask : similar a create mode o create mask, aplicado a directorios
  • force directory mode : similar a force create mode, aplicado a directorios
  • directory security mask : mascara de permisos aplicado a clientes Windows NT.
  • group o force group : grupo utilizado como gid del usuario conectado
  • user o force user : usuario utilizado como uid del usuario conectado
  • guest ok : permite acceder a un recurso sin identificarse
  • only guest o guest only : permite acceder sólo a usuarios sin identificación. requiere el parámetro "guest ok"
  • allow hosts o hosts allow : lista de equipos permitidos de acceder al recurso. puede aplicar como global
  • deny hosts o hosts deny : lista de equipos no permitidos de acceder al recurso. puede aplicar como global
  • only user : permite el acceso sólo a los usuarios en la lista user
  • directory o path : ruta del recurso indicado
  • read list : lista de usuarios que tienen acceso de sólo lectura
  • read only o writeable : no se permite crear ni modificar los archivos/directorios del recurso
  • user , users o username : usuarios con los cuales se probará la contraseña entregada
  • valid users : lista de usuarios permitidos de acceder al recurso
  • invalid users : lista de usuarios no permitidos de acceder al recurso
  • writable o writeable : permite escribir/modificar en el recurso indicado
  • print ok o printable : clientes pueden enviar trabajos de impresión a la carpeta indicada
  • printer o printer name : nombre de la impresora a la cual serán enviados los trabajos
 Para ver los equipos de la red: smbtree.
Para hacer todo esto pero de forma gráfica
Instalamos el SWAT: apt-get install swat. Swat es una herramienta para administrar samba desde el navegador.
Nos vamos al navegador y, en la barra de dirección, escribimos http://localhost:901, con lo que ya tendremos el modo gráfico de samba.
Podemos también acceder a Swat desde otros equipos indicando, en lugar de localhost, la IP o nombre del servidor donde lo hayamos instalado.

Excelente página de ejemplos vía ite.educacion.es.
 
Página del manual de smb.conf: man smb.conf

No hay comentarios:

Publicar un comentario