SAMBA - CUPS - SWAT Objetivo: Instalar y configurar Samba, Swat y Cups para imprimir desde Linux con impresoras instaladas y compartidas en Windows. Indice
    1.- Samba
    	Instalación
    	Configuración
    	Ejemplo de smb.conf
    	Buscando errores
    2.- Swat
    	Instalación
    	Configuración
    	Consejo Sano
    3.- Cups
    	Pre-Instalación
    	Instalación
    	Configuración
    		a.- Impresora de red Windows
    		b.- Impresora Virtual Cups-PDF
    4.- Notas
    5.- Bibliografía
En este documento sólo explicare los paquetes necesarios a instalar y las configuraciones básicas para hechar a andar esto. 1.- Samba Instalación Paquetes necesarios: Samba (contiene todo lo relacionado a aplicaciones, herramientas de configuración y documentación). Samba-common (contiene todo lo necesario para que Samba y Samba-client funcionen. Lo mismo con smbclient y smbfs). Samba-client (éste contiene las herramientas para acceder a los recursos compartidos). Samba-doc (Documentación). smbclient smbfs Podemos mirar un poco más a fondo cada paquete usando apt-cache show paquete En este caso nos hemos basado en Debian (Sarge). #apt-get install samba samba-common samba-client samba-doc #apt-get install smbclient smbfs Configuración (/etc/samba/smb.conf) Aquí podemos adelantar algunas cosas con DebConf pero no configuraremos todo con Debconf. A medida que vayamos modificando el archvio smb.conf podemos chequearlo con una herramienta llamada testparm Creamos el archivo lmhosts con la siguiente sintaxis:
    ip	hostname
Ejemplo: #testparm Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[STORAGE]" Processing section "[printers]" Loaded services file OK. Press enter to see a dump of your service definitions Y cuando apretemos enter nos imprimirá en consola todo el .conf Cosas básicas a definir dentro de la sección [Global] server string = (Aquí ira la descripción del Server) netbios name = (Definimos un nombre NetBIOS para la máquina linux) workgroup = (Grupo de Trabajo o Dominio al que pertenece) interfaces = (Placas de red por las cuales se une a la red) security = (Elegimos método de autenticación) Métodos de autenticación: User: éste método se utiliza indicando cuentas del sistema para acceder a los recursos. Share: con este método permitimos el acceso a los recursos como guest y sin pedir passwords. Igualmente le podemos asignar un password a un recurso con este método. Server: lo usamos para indicar que el logueo se autentica contra un Servidor de Dominio NT. Domain: se utiliza para indicar que es un PDC (Primary Domain Controller). Un ejemplo de la configuración GLOBAL [global] workgroup = hispabyte server string = Servidor Samba de Hispabyte security = user log file = /var/log/samba/log.%m max log size = 100 encrypt passwords = Yes (Este parámetro lo usamos cuando no tenemos dentro de la red máquinas con SO inferior a Windows 98) socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = no template shell = /bin/false host allow = 192.168.1. 127. (Permitimos toda la subred 192.168.1.0/24 y localhost) host deny = 10.0.0. (Denegamos explícitamente esta otra) printcap name = /etc/printcap (Archivo con lista de impresoras) load printers = no (Si queremos listar automaticamente las impresoras) Sección [SHARES] path = (Ruta al directorio a compartir) comment = (Comentario del Recurso) guest ok = (Acceso invitado "yes" o "no") guest only = (Permitimos solamente Guest, "yes" o "no") read only = (Sencillamente permitimos sólo lectura en el recurso) valid users = (Con esta opción podemos definir los usuarios separados por comas que están permitidos) write list= (Esto es un juego de permisos entre read y write, permito a unos dentro write list y dejo read only para el resto) read list= (viceverza del anterior) public = (Define si es público o no, equivale a "guest ok") browseable = (Permitimos o no mostrar los recursos) writable = (Se entiende..) admin users = (Definimos usuarios administrativos) directory mask = 0755 (Permisos que tendrán los directorios creados dentro) create mask = 0644 (Permisos que tendran los archivos que se creen dentro) hide dot files = Yes (Quizas más apto para cuando compartimos nuestro home y queremos evitar que se vean archivos como .bash_profile) Cómo usamos las herramientas de cliente de Samba smbclient //host/recurso -U usuario (Entrar a un recurso compartido indicando usuario) smbclient -L host (Listar los recursos del host) smbclient -M hostname (Enviar mensajes de red) O para más opciones ejecuten smbclient -h Comandos smbmount, smbumount y smbtar mbmount //maquina/recurso /dir_donde_montamos (Montar) smbumount /dir_donde_montamos (Desmontar) o al modo arcaico: mount -t smbfs //maquina/recurso /dir_donde_montamos Para agregar usuarios al sistema UNIX phoenix1:/etc/samba# groupadd samba phoenix1:/etc/samba# useradd -d /dev/null -g samba -s /bin/false -m dreake Así indicamos que no tiene home, ni shell, sin passwd. phoenix1:/etc/samba# smbpasswd -a dreake New SMB password: Retype new SMB password: Added user dreake. Agregamos el usuario a smbpasswd y le indicamos una contraseña. Ejemplo de configuración básica: <<attach Ejemplo.conf>> Buscando errores Esta parte es más como concejo que otra cosa. Cuando tengan errores de cualquier tipo tendrán varios archivos para mirar. En /var/log/samba por default encontrarán los archivos log.nmbd, log.smbd, entre otros. Si usando comandos desde consola pueden añadirle la opción -d nivel para usar un debugging más optimo para encontrar errores. Ejemplo: smbclient -M hostname -d 4 2.- SWAT (Samba Web Administration Tool). Instalación #apt-get install swat Durante la instalación agrega una línea a /etc/services y una línea en /etc/inetd.conf Por default las deja comentadas por lo menos la de inetd.conf con lo cual la descomentamos y reiniciamos inetd con /etc/init.d/inetd restart. Configuración Accedemos via Web con http://localhost:901 Vamos a detallar cada opción de Swat para qué sirve, qué podemos hacer con cada una. GLOBALS En esta sección es donde indicamos variables generales, como por ejemplo el nombre del servidor, Descripción, Grupo de Trabajo,etc. SHARES Aquí es donde configuramos las particiones o directorios que compartiremos y cada atributo sobre ellos. PRINTERS Para compartir impresoras. HOME Desde aquí se accede a toda la documentación de Samba en formato HTML y algo de SWAT VIEW Vemos el archivo /etc/samba/smb.conf tal cual lo ha generado SWAT. PASSWORD Nos permite cambiar la contraseña o agregar usuarios. Consejo sano La gente suele marearse con herramientas via web. No se alboroten, es como editarlo a mano, entiendan que les lista las variables y uds complentan o detallan las que quieran. 3.- CUPS Pre-instalación Todas las documentaciones que he leido recomiendan chequear que Samba este instalado con soporte para Cups. Lo haremos de esta manera: phoenix0:/home/equisca# ldd /usr/sbin/smbd | grep cups libcups.so.2 => /usr/lib/libcups.so.2 (0x40118000) Preparando los paquetes para instalar Cups cupsys cupsys-client cupsys-bsd (Soporte para comandos BSD) cupsys-driver-gimpprint (Obviamente los paquetes para Gimp-Print) cupsys-driver-gimpprint-data (Sugerencias) postsctript-viewer (Sugerencias) gimpprint-doc (Sugerencias) gimpprint-locales (Sugerencias) gs-esp (Paquete de GostScript y ESP) psfontmgr (Paquete para administrar fuentes PostScript) - (Sugerencias) foomatic-bin (URL: http://linuxprinting.org) foomatic-db (Base de datos con controladores) foomatic-db-hpijs (Soporte para controladores HPIJS, inyeccion de tinta HP) foomatic-db.-engine (Soft necesario para que funcione) foomatic-filters (Scritps de filtros para convertir datos) foomatic-gui (GUI para administrar los filtros) cupsomatic-ppd (Formato PPD para Adobe) foomatic-filters-ppds cups-pdf (Convertir Impresiones en PDFs) Instalación [Step by Step y con paciencia sobre todo, así salen mejor las cosas.] #apt-get install cupsys cupsys-client cupsys-bsd cupsys-driver-gimpprint #apt-get install cupsys-driver-gimpprint-data postsctript-viewer gimpprint-doc gimpprint-locales Instalamos los paquetes sugeridos. #apt-get install gs-esp psfontmgr #apt-get install foomatic-bin foomatic-db foomatic-db-hpijs foomatic-db-engine foomatic-db-filters foomatic-gui #apt-get install cupsomatic-ppd foomatic-filters-ppds #apt-get install cups-pdf Bueno y así hemos instalado y hemos podido distinguir bien la instalación de cada paquete. Entiendan que según la necesidad de cada uno pueden prescindir de algunos paquetes. Configuración Cups tiene un sistema de administración y configuración via Web. Con lo cual accederemos de la siguiente manera: http://localhost:631 Nos logueamos como root y comenzamos a configurar la impresora siguiendo estos pasos. Configurar impresora de red 1.- Vamos a la seccion Printers a.- Add Printer b.- Complementamos los datos: Name Location Description c.- Seleccionamos el dispositivo Windows Printer via Samba d.- Indicamos la ubicación Aquí habrá varias opciones, elijan uds. 1.- smb://workgroup/servidor/recurso 2.- smb://servidor/recurso 3.- smb://usuario:passwd@workgroup/servidor/recurso 4.- smb://usuario:passwd@servidor/recurso e.- Seleccionamos el Driver de la impresora HP DeskJet 840C - CUPS+Gimp Print v4.2.7 (en) Configurar impresora virtual para convertir a PDF 1.- Vamos a la seccion Printers a.- Add Printer b.- Complemtamos los datos: Name Location Description c.- Seleccionamos el dispositivo Virtual Printer (PDF Printer) d.- Seleccionamos el Driver. e.- Seleccionamos el tipo de Filtro. 4.- Notas: Nota 1.- Una vez instalados ya disponemos de los demonios smbd y nmbd. El primero para la compartición de recursos y control, y el segundo para la publicaciónde servicios, wins,etc. Nota 2.- Archivo /etc/smbpasswd Contiene los passwords de los usuarios de Samba, cifrados. Nota 3.- Archivo /etc/lmhosts Es similar a al archivo /etc/hosts pero para NetBIOS Nota 4.- Archivo /etc/smbusers Lista de usuarios del sistema, lista de usuarios de samba con los derechos éstos. Nota 5.- El paquete foomatic-gui Tiene muchas dependencias (python,netcat,etc ) Nota 6.- Swat
    << off >> swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat
Así es como queda la linea de swat en el inetd.conf después de la instalación. Con lo cual solo borrar el << off >> y reiniciar inetd. Nota 7.- Paquetes recomendados Komba2 para KDE ( http://komba.sourceforge.net ) Gnomba para Gnome ( http://gnomba.sourceforge.net ) SMB2www ( http://www.scintilla.utwente.nl/users/frank/smb2www/ ) SMB Web Client ( http://smbwebclient.sourceforge.net/ ) 5.- BIBLIOGRAFIA Samba => http://ar.samba.org/samba/docs/man/Samba-HOWTO-Collection/ O' Reilly => http://www.oreilly.com/catalog/samba/chapter/book/index.html TLDP => http://es.tldp.org/Tutoriales/doc-openldap-samba-cups-python/htmls/index.html Google => http://www.google.com.ar/linux Este documento fue creado por equisca en 11 de Febrero de 2005 en AEPN Lab's usando nano & Editplus