EZINE HISPABYTE

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

img11.png

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

img1.png

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

img2.png

b.- Complementamos los datos:
Name
Location
Description

img3.png

c.- Seleccionamos el dispositivo
Windows Printer via Samba

img4.png

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

img5.png

e.- Seleccionamos el Driver de la impresora
HP DeskJet 840C - CUPS+Gimp Print v4.2.7 (en)

img6.png

Configurar impresora virtual para convertir a PDF

1.- Vamos a la seccion Printers

a.- Add Printer

img2.png

b.- Complemtamos los datos:
Name
Location
Description

img7.png

c.- Seleccionamos el dispositivo
Virtual Printer (PDF Printer)

img8.png

d.- Seleccionamos el Driver.

img9.png

e.- Seleccionamos el tipo de Filtro.

img10.png

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