Capitulos de este wiki
  1. 1 Aprendiendo Samba
  2. 2 ¿Qué es Samba?
  3. 3 ¿Qué puede hacer Samba por mí?
  4. 4 Familiarizandonos con una Red SMB/CIFS
  5. 5 Implementaciones de Microsoft
  6. 6 Un Vistazo a la Distribución Samba
  7. 7 ¿Cómo puedo Obtener Samba?
  8. 8 Instalando Samba en un Sistema Unix
  9. 9 Descargando la Distribución
  10. 10 Configurando Samba
  11. 11 Compillando e Instalando Samba
  12. 12 Un Fichero de Configuración Basico
  13. 13 Iniciando los Demonios de Samba
  14. 14 Testeando los Demonios Samba
  15. 15 Configurando los Clientes Windows
  16. 16 Configurando Computadoras Windows 95/98 (I)
  17. 17 Configurando Computadoras Windows 95/98 (II)
  18. 18 Una Introducción a SMB/CIFS (I)
  19. 19 Una Introducción a SMB/CIFS (II)
  20. 20 Compartición de Unidades de Disco
  21. 21 Aprendiendo a usar el Fichero de Configuración de Samba
  22. 22 Secciones Especiales
  23. 23 Opciones del Ficheros de Configuración
  24. 24 Configuración del Servidor
  25. 25 Configuración de la Compartición de Disco
  26. 26 Opciones de Red con Samba
  27. 27 Servidores Virtuales
  28. 28 Opciones de Ficheros de Registro
  29. 29 Visualización (Browsing) y Compartición Avanzada de Discos
  30. 30 Visualización, Navegación o 'Browsing'
  31. 31 Diferencias entre Sistemas de Ficheros
  32. 32 Permisos de Ficheros y Atributos en MS-DOS y Unix
  33. 33 Planchado de Nombres (Name Mangling) y Tipo
  34. 34 Bloqueos y Opciones de Bloqueos
  35. 35 Usuarios, Seguridad y Dominios
  36. 36 Usuarios y Grupos
  37. 37 Controlando el acceso a los recursos compartidos
  38. 38 Seguridad y autenticación
  39. 39 Contraseñas
  40. 40 Sincronización de las Contraseñas
  41. 41 Dominios Windows
  42. 42 Scripts de Entrada
  43. 43 Impresión y Resolución de Nombres
  44. 44 Enviando tareas de impresión a SAMBA
  45. 45 Impresión sobre Impresoras de Cliente Windows
  46. 46 Resolución de Nombres con Samba
  47. 47 Informacion adicional sobre Samba
  48. 48 Magic Scripts (Scripts Magicos)
  49. 49 Internationalización
  50. 50 Mensajes Emergentes
  51. 51 Opciones Añadidas Recientemente
  52. 52 Otras Opciones
  53. 53 Copias de Seguridad (Backups) con smbtar
  54. 54 Resolviendo Problemas con Samba
  55. 55 La Caja de Herramientas
  56. 56 El Arbol de Errores
  57. 57 Recursos Extra
  58. 58 Bibliography

Usando Samba - Impresión sobre Impresoras de Cliente Windows

45 - Impresión sobre Impresoras de Cliente Windows

[editar]
Tutorial creado por Robert Eckstein, David Collier-Brown, Peter Kelly. Extraido de: http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/node1.html
20 de Febrero de 2006

Si tienes impresoras conectadas a clientes Windows 95/98 o NT 4.0, esas impresoras pueden ser también accedidas desde Samba. Samba viene equipado con una herramienta llamada smbprint que puede ser usada para enviar trabajos de impresión a impresoras Windows. Para poder usar esto, sin embargo, necesitas configurar la impresora como recurso compartido en la máquina cliente. Si no la tienes compartida, hazlo desde la Ventana de Impresoras, como ves en la Figura 7.7.

Figure: La Ventana de Impresoras.

\includegraphics[ width=0.80\textwidth]{img/sam-0707.ps}

Selecciona una impresora que esté localmente conectada (por ejemplo, la nuestra en la impresora Canon), presiona el botón derecho del ratón, y selecciona 'Compartir'. Esto te llevará a la ventana de compartición de recursos de las Propiedades de la Impresora, como muestra la Figura 7.8. Si quieres hacerla disponible para todo el mundo en tu red, como la impresora por defecto para usuarios anónimos, introduce una contraseña en blanco.

Figure: Ventana de Compartición de Impresora.

\includegraphics[ width=0.80\textwidth]{img/sam-0708.ps}

Una vez hecho esto, puedes añadir tu impresora a la lista de impresoras por defecto y Samba puede hacerla disponible al resto de equipos de la red. Para hacer la instalación en Unix más sencilla, la distribución Samba proporciona dos scripts de ejemplo: smbprint y smbprint.sysv. El primero funciona con impresoras tipo BSD; el segundo es el utilizado para impresoras System V.

Impresoras BSD

Hay dos pasos necesarios para que un sistema Unix BSD reconozca una impresora remota:

  1. Colocar una entrada para la impresora en el fichero /etc/printcap (o equivalente).
  2. Colocar un fichero configuración en el directorio /var/spool para esa impresora.

Primero, edita tu fichero /etc/printcap y añade una entrada para la impresora remota. Advierte que el filtro de entrada (if) necesita apuntar al programa smbprint si la máquina está sobre Windows 95/98. El siguiente conjunto de líneas iría en una máquina Linux machine:

laserjet:\ 
 :sd=/var/spool/lpd/laser:\ 
 
 # spool directory
 :mx#0:\
 
 # maximum file size (none)
 :sh:\
 
 # surpress burst header (no)
 :if=/usr/local/samba/bin/smbprint:
 
 # text filter
 

Una vez hecho esto, necesitas crear un fichero de configuración en el directorio de colas (spool) que especificaste con el anterior parámetro sd (puede que necesites crear dicho directorio). El fichero debe tener el nombre .config y debería contener la siguiente información:

  • El nombre NetBIOS de la máquina Windows que tiene la impresora.
  • El nombre del servicio que representa a la impresora.
  • La contraseña usada para acceder al servicio.

Los dos últimos parámetros fueron configurados en el cuadro de Compartición de la máquina Windows. En este caso, el fichero .config debería tener tres líneas:

server = phoenix
 service = CANON
 password = 
 </FONT></PRE>
 <P><FONT size=2>Una vez hecho esto, reinicia el server Samba e intenta imprimir usando cualquier programa Unix. </FONT></P>
 <H2><FONT size=2>Impresoras System V </FONT></H2>
 <P><FONT size=2>Enviar trabajos de impresión a una impresora Unix System V es algo más sencillo. Aquí, necesitas obtener el script <SPAN class=textit>smbprint.sysv</SPAN> del directorio <SPAN class=textit>/usr/local/samba/examples/printing</SPAN> y hacer lo siguiente: </FONT>
 <P><FONT size=2></FONT>
 <UL>
 <LI><FONT size=2>Cambia los parámetros <SPAN class=textit>server</SPAN>, <SPAN class=textit>service</SPAN>, y <SPAN class=textit>password</SPAN> en el script para que coincidan con la máquina NetBIOS, su impresora compartida, y su password, respectivamente. Por ejemplo, las siguientes entradas deberían ser correctas para el servicio del ejemplo que pusimos antes: </FONT></LI></UL>
 <P><FONT size=2></FONT><PRE><FONT size=2>server = phoenix
 service = CANON
 password = 
 

  • Ejecuta los siguientes comandos, que crearán una referencia para la impresora en el fichero de capacidades de impresora. Advierte que la nueva entrada de impresora Unix se llama canon_ printer:

# lpadmin -p canon_printer -v /dev/null -i./smbprint.sysv
 # enable canon_printer
 # accept canon_printer
 

Una vez hayas hecho esto, reinicia los demonios Samba e intenta imprimir usando cualquier programa Unix. Deberías poder enviar datos a una impresora de un cliente Windows a través de la red.

Opciones de Impresión de Samba

La Tabla 7.2 resume las opciones de impresión de Samba.


Table: Opciones de Configuración de Impresoras.

Table: Opciones de Configuración de Impresoras.
Opción Parámetros Función Defecto Ambito
printing bsd, sysv, hpux, aix, qnx, plp, softq, o lprng Establece el tipo de sistema de impresión para nuestro sistema Unix. Dependiente de Sistema Recurso
printable (print ok) booleano Marca un recurso como recurso de impresión. no Recurso
printer (nombre impresora) string (nombre impresora Unix) Establece el nombre de la impresora a ser mostrado a los clientes. Dependiente de Sistema Recurso
printer driver string (nombre driver impresora) Establece el nombre del driver que debería ser usado por el cliente para enviar datos a la impresora. Ninguno Recurso
printer driver file string (ruta completa) Establece el nimbre del fichero del driver de impresora. Ninguno Global
printer driver location string (nombre ruta de red) Especifica el nombre de la ruta del recurso para el fichero del driver de impresora. Ninguno Recurso
lpq cache time numerico (tiempo en segundos) Establece la cantidad de tiempo en segundos que Samba cacheará el lpq status. 10 Global
postscript booleano Trata todos los trabajos de impresión enviados como postscript precediendolos con %! al principio de cada fichero. no Recurso
load printers booleano Carga automáticamente cada una de las impresoras en el fichero printcap como recursos compartidos. no Global
print command string (ruta completa) Establece el comando Unix para realizar la impresión. Ver más abajo Recurso
lpq command string (ruta completa) Establece el comando Unix para retornar el status de la cola de impresión. Ver más abajo Recurso
lprm command string (ruta completa) Establece el comandoUnix para eliminar un trabajo de la cola de impresión. Ver más abajo Recurso
lppause command string (ruta completa) Establece el comando Unix para pausar un trabajo en la cola de impresión. Ver más abajo Recurso
lpresume command string (ruta completa) Establece el comando Unix para reactivar un trabajo pausado de la cola de impresión. Ver más abajo Recurso
printcap name

(printcap)

string (ruta completa) Especifica la localización del fichero de capacidades de impresora. Dependiente de Sistema Global
min print space numerico (tamaño en kilobytes) Establece la cantidad mínima de espacio en disco libre que debe estar presente para realizar la impresión. 0 Recurso
queuepause command string (comando shell) Establece el comando Unix para parar una cola. Ver más abajo Recurso
queueresume command string (comando shell) Establece el comando Unix para reactivar una cola. Ver más abajo Recurso

printing

La opción de configuración printing le indica a Samba algo acerca de vuestro sistema de impresión Unix, en éste caso qué intérprete o parseador de impresión utilizar. Con Unix, hay varias familias diferentes de comadnos para control de impresión y control de estado de impresión. Samba soporta siete tipos diferentes, como ves en la Tabla 7.3.


Table: Tipos de Impresión.
Variable Definición
BSD Berkeley Unix system

SYSV System V

AIX AIX Operating System (IBM)

HPUX Hewlett-Packard Unix

QNX QNX Realtime Operating System (QNX)

LPRNG LPR Next Generation (Powell)

SOFTQ SOFTQ system

PLP

Portable Line Printer (Powell)


El valor para esta opción será uno de los siete posibles. Por ejemplo:

printing = SYSV
 

El valor por defecto para esta opción es 'Dependiente de Sistema' y se configura cuando Samba es compilado por vez primera. Para la mayoría de sistemas, el script configure automáticamente detectará el sistema de impresión a ser usado y lo configurará adecuadamente en el Makefile de Samba. Sin embargo, si tu sistema es PLP, LPRNG, o QNX, necesitarás especificarlo explícitamente en el Makefile o en el recurso de impresión.

Los tipos de sistemas más comunes son BSD y SYSV. Cada una de las impresoras en un sistema BSD Unix están descritas en el fichero de capacidades de impresoras (normalmente /etc/printcap).

Estableciendo la opción de configuración printing automáticamente se establecen también al menos otras tres opciones de impresión para el servicio en cuestión: print command, lpq command, y lprm command. Si estás ejecutando Sambasobre un sistema que no tiene soporte para ninguno de estos estilos de impresión, simplemente establece el valor para cada uno de estos comandos manualmente.

printable

La opción printable debe establecerse a yes en orden a marcar un recurso como servicio de impresión. Si esta opción no se establece, el recurso será tratado como una unidad de disco. Puedes configurar esta opción así:

[printer1]
   printable = yes

printer

Esta opción, también llamada printer name, especifica el nombre de la impresora en el servidor a la cual el recurso apunta. Esta opción no tiene valor por defecto y debería ser configurada explícitamente en el fichero de configuración, aunque los sistemas Unix por sí solos frecuentemente reconocen un nombre por defecto tal como lp para una impresora. Por ejemplo:

[deskjet]
   printer = hpdkjet1
 

printer driver

La opción printer driver establece la cadena que Samba usa para indicarle a Windows cuál es la impresora. Si esta opción se configura correctamente, El Asistentee de Configuración de Impresoras de Windows ya sabrá cuál es la impresora, haciendo su instalación más simple para los usuarios finales gracias a un diálogo menos que se les tiene que presentar. La cadena dad debería coincidir con la cadena que se muestra en el Asistente de Impresoras, como se ve en la Figura 7.9. Por ejemplo, una impresora Apple LaserWriter normalmente usa 'Apple LaserWriter'; una Hewlett Packard Deskjet 560C usa 'HP DeskJet 560C Printer'.

Figure: El Diálogo de Inserción de nueva Impresora en Windows 98.

\includegraphics[ width=0.80\textwidth]{img/sam-0709.ps}

printer driver file

Esta opción global da la localización del fichero driver de la impresora Windows 95/98, el cual es necesario para proporcionar los drivers de la impresora a los clientes que usen un impresora Samba. El valor por defecto para esta opción es /usr/local/samba/lib/printers.def. Puedes machacar este valor por defecto como sigue:

[deskjet]
   printer driver file = /var/printers/printers.def
 

printer driver location

Esta opción especifica un recurso que contiene drivers de impresoras Windows 95 y 98 y ficheros de definición. No hay valor por defecto. Puedes especificar la localización como una ruta de red. Una aproximación frecuente es usar un recurso en tu propia máquina, como se muestra aquí:

[deskjet]
   printer driver location = \\%L\PRINTER$

lpq cache time

Esta opción te permite establecer el número de segundos durante los cuales Samba recordará el estado actual de la impresora. Una vez este tiempo transcurra, Samba ejecutará un comando lpq (o el que hayas especificado en la opción lpq command) para tener información de última mano acerca del estado. Por defecto se establece a 10 segundos, pero puede ser incrementado si tu comando lpq se toma un tiempo inusualmente largo en ejecutarse o tienes muchos clientes. El siguiente ejemplo establece el tiempo a 30 segundos:

[deskjet]
   lpq cache time = 30

postscript

La opción postscript fuerza a la impresora a tratar todos los datos enviados como si fueran Postscript. Esto se ahce precediendo los caracteres %! al principio de la primera línea de cada trabajo. Se usa normalmente con PCs que inserten un ^D (control-D o 'marca de fin de fichero') al principio de la primera línea de un fichero PostScript. Esto, obviamente, no convierte a una impresora no-PostScript en una PostScript. El valor por defecto para esta opción es 'no'. Puedes cambiar el valor así:

[deskjet]
 
   postscript = yes
 

print command, lpq command, lprm command, lppause command, lpresume command

Estas opciones le indican a Samba qué comandos Unix usar para controlar y enviar datos a la impresora. Los comandos Unix que se ven involucrados aquí son: lpr (send to Line PRinter), lpq (List Printer Queue), lprm (Line printer ReMove), y opcionalmente lppause y lpresume. Samba proporciona una opción nominada para cada uno de estos comandos, para el caso de que necesites modificar cualquiera de los valores por defecto del sistema. Por ejemplo:

lpq command = /usr/ucb/lpq %p
 

Esto establecería como comando lpq al ejecutable /usr/ucb/lpq. Similarmente:

lprm command = /usr/local/lprm -P%p %j
 

indicaría usar como comando de eliminación de trabajos al ejecutable /usr/local/lprm, y le proporciona el número de trabajo de impresión mediante la variable %j.

Los valores por defecto para cada una de estas opciones son dependientes del valor de la opción printing. La Tabla 7.4 muestra los comandos por defecto para cada una de las opciones de impresión. El sistema de impresión más popular es el BSD.


Table: Comandos por defecto para varios comandos de impresión.
Opción BSD, AIX, PLP, LPRNG SYSV, HPUX QNX SOFTQ
print command lpr -r -P%p %s lp -c -d%p %s; rm %s lp -r -P%p %s lp -d%p -s %s; rm %s
lpq command lpq -P%p lpstat -o%p lpq -P%p lpstat -o%p
lprm command lprm -P%p %j cancel %p-%j cancel %p-%j cancel %p-%j
lppause command lp -i %p-%j -H hold (sólo SYSV) Ninguno Ninguno Ninguno
lpresume command lp -i %p-%j -H resume(sólo SYSV) Ninguno Ninguno qstat -s -j%j -r


 

Normalmente no es necesario modificar estas opciones en Samba, con la posible excepción de print command. Esta opción puede que sea necesacio definirla explícitamente si tu sistema de impresión no tiene una opción -r (eliminar tras imprimir) en el comando de impresión. Por ejemplo:

/usr/local/lpr -P%p %s; /bin/rm %s
 

Con un mínimo de juiciosa programación, estas opciones de smb.conf también se pueden usar par depuración de errores:

print command = cat %s >>/tmp/printlog; lpr -r -P%p %s
 

Por ejemplo, esta configuración puede verificar qué ficheros están actualmente siendo enviados al servidor Samba. Si los hay, sus contenidos se mostrarán en el fichero /tmp/printlog.

Tras BSD, el siguiente sistema de impresión más popular es SYSV (o System V), además de algunas variantes SYSV para IBM's AIX y Hewlett-Packard HP-UX. Este sistema no tiene un fichero /etc/printcap. En su lugar, la opción printcap file puede configurarse con un apropiado comando lpstat. Esto le dice a Samba que obtenga una lista de impresoras desde el comando lpstat. Alternativamente, puedes establecer la opción de coniguración global printcap name al nombre de una un fichero printcap desmilitarizado (dummy) que tú proporciones. En este último caso, el fichero debe contener una serie de líneas como estas:

lp|print1|My Printer 1
 print2|My Printer 2
 print3|My Printer 3
 

Cada línea nomina un impresora, y proporciona alias para ella. En este ejemplo, la primera impresora es llamada lp, print1, o My Printer 1, cualquiera que el usuario prefiera usar es válida. El primer nombre será usado en lugar de %p en cualquier comando que Samba ejecute para esa impresora.

Dos tipos adicionales de impresión son también soportados por Samba: LPRNG (LPR New Generation) y PLP (Public Line Printer). Estos son sistemas de dominio público y Open Source, y son utilizados por muchos sitios con problemas de adquisición de licencias de software. En adición, los sistemas SOFTQ y QNX también son soportados por Samba.

load printers

Esta opción le dice a Sambaque cree recursos para todos los nombres de impresoras conocidos y los cargue en la lista de navegación. Samba creará y listará un recurso de impresión por cada nombre de impresora en /etc/printcap (o equivaente de tu sistema). Por ejemplo, si tu fichero printcap se parece a este7.3:

lp:\
   :sd=/var/spool/lpd/lp:\
 
 # directorio de cola
   :mx#0:\
 
 # tamaño máximo fichero (ninguno)
   :sh:\
 
 # surpress burst header (no)
   :lp=/dev/lp1:\
 
 # nombre dispositivo para salida
   :if=/var/spool/lpd/lp/filter:
 
 # texto filtro
 laser:\
   :sd=/var/spool/lpd/laser:\
 
 # directorio de cola
   :mx#0:\
 
 # tamaño máximo fichero (ninguno)
   :sh:\
 
 # surpress burst header (no)
   :lp=/dev/laser:\
 
 # nombre dispositivo para salida
   :if=/var/spool/lpd/lp/filter:
 
 # texto filtro
 

y tú especificas:

load printers = yes
 

Los recursos [lp] y [laser] serán creados automáticamente como recursos válidos de impresión cuando se inicie Samba. Ambos recursos tomarán las opciones de configuración especificadas en la sección [printers] para configurarse a sí mismos, y estarán disponibles en la lista de navegación para el servidor Samba.

printcap name

Si la opción printcap name (también llamada printcap) aparece en un recurso de impresión, Samba usará el fichero especificado como fichero de capacidades de impresión del sistema. Este es normalmente /etc/printcap. sin embargo, puedes cambiarlo a otro fichero que contenga sólo las impresoras que quieras dar a compartir sobre la red. El valor debe ser el nomrbe de un fichero de capacidades de impresoras completamente cualificado en el servidor:

[deskjet]
   printcap name = /usr/local/printcap
 

min print space

Esta opción establece la cantidad de espacio de cola que debe estar disponible en disco antes de que se permita la impresión. Estableciendo dicho valor a cero (por defecto) se desactiva la opción; estebleciendo cualquier otro número se establece la cantidad de espacio libre requerida en kilobytes. Esta opción te ayuda a evitar tener trabajos de impresión ocupando el espacio libre restante del disco, lo cual puede provocar que caigan otros procesos:

[deskjet]
   min print space = 4000
 

queuepause command

Esta opción especifica un comando que le dice a Samba cómo pausar una cola de impresión por completo, no sólo un único trabajo. El valor por defecto depende del tipo de sistema de impresión escogido. No deberías necesitar modificar este valor.

queueresume command

Esta opción especifica un comando que le dice a Samba cómo reactivar una cola de impresión interrumpida al completo. El valor por defecto depende del tipo de sistema de impresión escogido. No deberías necesitar modificar este valor.


... este7.3
Hemos colocado comentarios par el caso de que no te hayas metido nunca conn este fichero.
[editar]

10 opiniones

Sergio

buenisimo
huevos

no mames
Muy muy bueno.

Excelente. Todos los aspectos que me presentaron problemas en la configuración del servidor fueron resueltos con la ayuda proporcionada por este documento. Muchas gracias a los autores y traductores por su aporte.
Samba en web.

Quisiera saber mas sobre lo que es la instalacion de samba en web.
Samba.

Exelente curso de samba, muy bien explicado.
1 2 | siguiente >

Tutoriales relacionados con 'Usando Samba'

Este documento describe la manera de usar el paquete Samba, que dota a Linux de... Más »
Cuando un entorno Windows precisa nuestros archivos, o puede servirnos para imprimir nuestros documentos, nada... Más »
Esta guía no es un documento general de seguridad. Esta guía está específicamente orientada a... Más »
Antes de continuar he de advertir que instalar una estación de trabajo NetBSD es un... Más »
Vamos a ver cómo funciona Snort en todas sus facetas, instalación y configuración (sistemas Windows),... Más »

Autor y licencia de 'Usando Samba'


Tutorial de Robert Eckstein, David Collier-Brown, Peter Kelly. Extraido de: http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/node1.html CopyLeft
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.