Impresora

Imagen de elrey
0 puntos

Tengo varias maquinas con ubuntu 7.04 Feisty Fawn y dependen para realizar impresiones de una maquina window xp, por supuesto, que es la que tiene instalada la impresora hp laserjet 1200, he tratado de instalarla agregando una nueva impresora en ubuntu y no me imprime la pagina de prueba...tengo el nombre de la impresora que comparte window, tengo el nombre del equipo, y el mshome o grupo de trabajo... de la maquina de window... y no encuentro la forma ...por favor....

Imagen de Gabriel_M
+1
0
-1

Hola:

Aqui como compartir impresoras:

Podes intentar configurar cups a través de Firefox o de cualquier navegador

accediendo simplemente a : 127.0.0.1:631 donde en el item administración

estan las opciones de compartir impresoras .

Si prefieres editar los archivos de configuración

a continuación te detallo como hacerlo:

Linux a Linux

Editar el archivo /etc/cups/cupsd.conf  y modificar:

 <Location />

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

Allow From 10.0.0.*

</Location>

 Se añade permiso a la IP de la máquina cliente con

*'Allow From ip_cliente'.

Se reinicia el CUPS con:

 # /etc/rc.d/cups restart

En la máquina cliente, se edita el /etc/cups/client.conf

y se indica en la opción ServerName la ip del servidor o su nombre.

Por ejemplo, si el nombre del servidor es 'xubuntu' en el client.conf se indica así:

 ServerName xubuntu

 Para actualizar el cliente:

 # lpq

 La respuesta debe ser algo como esto:

 ml1250 is ready

no entries

 De Linux a Windows

 Si estás conectado a un servidor de impresión Windows o cualquier otro que soporte Samba

Inicia del demonio CUPS y completar la interface web

Previo activar el backend de CUPS para Samba con:

# ln -s `which smbspool` /usr/lib/cups/backend/smb

Después  reiniciar CUPS.

 Y entra en la interface web de CUPS como root y añade una impresora.

En device, debe haber una opción que indique algo de Windows Printer Via Samba.

Para device location introduce:

 smb://username:password@hostname/printer_name

Asegúrate de que el usuario tenga acceso a la impresora en la máquina con Windows. Selecciona el drivers apropiado. Si la máquina está en un dominio, asegúrate de que el nombre de usuario incluye el dominio.

De Windows a Linux

 Editar el /etc/samba/smb.conf para permitir el acceso a tus impresoras.

Tu smb.conf podría ser algo como esto:

[global]

workgroup = Printers

server string = Xubuntu Linux Print Server

security = user

[printers]

comment = All Printers

path = /var/spool/samba

browseable = yes

# to allow user 'guest account' to print.

guest ok = no

writable = no

printable = yes

create mode = 0700

write list = @adm root nuevo

 Podrías querer añadir una entrada individual para la impresora:

 [ML1250]

comment = Samsung ML-1250 Laser Printer

printer=ml1250

path = /var/spool/samba

printing = cups

printable = yes

printer admin = @admin root nuevo

user client driver = yes

# to allow user 'guest account' to print.

guest ok = no

writable = no

write list = @adm root nuevo

valid users = @adm root nuevo

 Los usuarios deben tener una cuenta válida para acceder a la impresora.

Para una impresora pública pon el 'guest ok' en 'yes' y quita la línea 'valid users'.

Para añadir cuentas tendrás que crear una cuenta normal Linux y después configurar una contraseña Samba en el servidor.

Por ejemplo:

 # useradd nuevo

# smbpasswd -a nuevo

 Después de configurar las cuentas que necesites, tendrás que crear el directorio spool para samba:

 # mkdir /var/spool/samba

# chmod 777 /var/spool/samba

Cambiar  /etc/cups/mime.convs y /etc/cups/mime.types:

 mime.convs:

 # La siguiente línea se encuentra cerca del final del fichero.

Quita la almohadilla para descomentarla.

application/octet-stream application/vnd.cups-raw 0 -

 mime.types:

 # También cerca del final del fichero.

application/octet-stream

 Los cambios en mime.convs y mime.types se necesitan para hacer que CUPS imprima documentos de  Microsoft Office.

Después de esto reinicia el demonio Samba:

# /etc/rc.d/samba restart

 Windows 2000 y Windows XP a Linux

 Utilizar el protocolo CUPS directamente.

El cliente Windows necesitará utilizar Windows 2000 o Windows XP.

En la máquina Windows, ve al panel de control de la impresora y selecciona 'Añadir una nueva impresora'. Después selecciona dar una url. En la url pon la dirección de tu impresora:

http://dirección_ip_del_host:631/printers/nombre_de_la_impresora

donde dirección_ip_del_host es la dirección del servidor Linux y nombre_de_la_impresora es el nombre de la impresora a la que te quieres conectar.

Después de esto, instala los drivers de Windows para la impresora. Si has configurado el servidor CUPS para que utilice sus propios drivers de impresora, entonces sólo debes seleccionar una impresora genérica postscript para el cliente Windows.

Una vez hecho esto, puedes probar la impresora imprimiendo una página de prueba.

Estan son las opciones de cupsd.conf:

       cupsd reconoce las siguientes directivas. Consulte el manual de  admin?
istrador de CUPS si necesita una descripción detallada:

AccessLog
Define el nombre del archivo de registro de los accesos.
Allow
Indica desde que equipos o direcciones se permite el acceso.
AuthClass
Especifica la clase de autentificación: User (usuario), Group
(grupo), System (sistema)
AuthGroupName
Especifica el grupo de autentificación.
AuthType
Especifica el tipo de autentificación: None (ninguna), Basic
(básica), Digest (resumida)
AutoPurgeJobs
Especifica si se purgan automáticamente los datos del historial de
trabajos cuando ya no son necesarios para el establecimiento de
cuotas.
BrowseAddress
Especifica una dirección para el envío de paquetes de información
de impresora.
BrowseAllow
Permite la llegada de paquetes de información de impresora desde
el ordenador o dirección especificados.
BrowseDeny
No permite la llegada de paquetes de información de impresora
desde el ordenador o dirección especificados.
BrowseInterval
Especifica el intervalo de tiempo máximo entre peticiones de
información a las impresoras.
BrowseOrder
Especifica el orden del control de acceso a la información de las
impresoras: allow,deny (permitir, denegar) o deny,allow (denegar,
permitir)
BrowsePoll
Especifica el servidor que recuperará la información de las impre?
soras.
BrowsePort
Especifica el puerto de escucha de los paquetes de información de
las impresoras.
BrowseProtocols
Especifica el protocolo a usar para las peticiones a las impreso?
ras.
BrowseRelay
Especifica los paquetes de información de impresoras que deben ser
transmitidos desde un ordenador o red a otro ordenador o red.
BrowseShortNames
Especifica si impresoras remotas usarán nombres cortos ("impre?
sora") o no ("impresora@servidor"). Esta opción es ignorada si
existe más de una impresora remota con el mismo nombre.
BrowseTimeout
Especifica el máximo intervalo de tiempo entre actualizaciones de
la información de las impresoras antes de que las impresoras remo?
tas sean borradas de la lista de impresoras disponibles.
Browsing
Especifica si se buscan o no impresoras remotas.
Classification
Especifica la clasificación de seguridad del servidor.
ClassifyOverride
Especifica si se permite a usuarios individuales no hacer caso de
la clasificación de trabajos individuales de impresión.
ConfigFilePerm
Especifica los permisos para todos los archivos de configuración
que escriba el programa de planificación de tareas.
DataDir
Especifica el directorio de los archivos de datos.
DefaultCharset
Especifica el juego de caracteres predeterminado a ser usado en el
texto.
DefaultLanguage
Especifica el idioma predeterminado a ser usado en el texto y en
las páginas web.
Deny
Especifica a qué ordenadores o direcciones deniega el acceso.
DocumentRoot
Especifica el directorio raíz de los documentos del servidor web
interno.
Encryption
Especifica el nivel de encriptación requerido para un lugar deter?
minado.
ErrorLog
Especifica el nombre del archivo de registro de errores.
FaxRetryInterval
Especifica el tiempo, en segundos, entre reintentos de trabajos de
fax.
FaxRetryLimit
Especifica el número de reintentos que se pueden hacer para traba?
jos de fax.
FileDevice
Especifica si se puede usar para nuevas colas de impresora el
archivo pseudo-dispositivo.
FilterLimit
Especifica el coste máximo de filtros que pueden ser ejecutados
concurrentemente.
FilterNice
Especifica la prioridad (valor "nice") de los filtros ejecutados
para imprimir un archivo.
FontPath
Especifica el camino de búsqueda de las fuentes.
Group
Especifica el nombre del grupo o ID que será usado cuando se eje?
cuten programas externos.
HideImplicitMembers
Especifica si se deben ocultar miembros de clases implícitas.
HostNameLookups
Especifica si se hacen o no averiguaciones inversas de direcciones
de clientes.
ImplicitAnyClasses
Especifica si se deben crear o no clases implícitas para impreso?
ras locales y remotas, p.e. "UnaImpresora" para "Impresora",
"Impresora@servidor1", e "Impresora@servidor2".
ImplicitClasses
Especifica si se deben crear clases implícitas de impresoras remo?
tas idénticas.
Include
Incluye el archivo especificado.
KeepAlive
Especifica si funciona la característica "HTTP Keep-Alive".
KeepAliveTimeout
Especifica el tiempo de espera máximo para la característica "HTTP
Keep-Alive".
<Limit methods> ... </Limit>
<LimitExcept methods> ... </LimitExcept>
Especifica los métodos HTTP limitados en un lugar determinado.
LimitRequestBody
Especifica el tamaño máximo de cualquier petición de impresión de
un trabajo.
Listen
Escucha en la dirección y puerto especificado.
<Location /path> ... </Location>
Especifica el control de acceso para el lugar especificado.
LogFilePerm
Especifica los permisos para todos los archivos de registro que
escriba el programa planificador de tareas.
LogLevel
Especifica el nivel de registro: none (ninguno), warn (avisos),
error (errores), info (información), debug (depuración), or debug2
(depuración2).
MaxClients
Especifica el número máximo de clientes simultáneos a mantener.
MaxClientsPerHost
Especifica el número máximo de clientes simultáneos a mantener
desde una única dirección.
MaxCopies
Especifica el número máximo de copias que un usuario puede
imprimir de cada trabajo.
MaxJobs
Especifica el número máximo de trabajos simultáneos a mantener.
MaxJobsPerPrinter
Especifica el número máximo de trabajos simultáneos por impresora
a mantener.
MaxJobsPerUser
Especifica el número máximo de trabajos simultáneos por usuario a
mantener.
MaxLogSize
Especifica el tamaño máximo de los archivos de registro antes de
que se empiecen a rotar (0 deshabilita la rotación).
MaxRequestSize
Especifica el tamaño máximo del archivo o petición en bytes (0
indica sin límite)
Order
Especifica el orden del control de acceso HTTP: allow,deny (permi?
tir, denegar) o deny,allow (denegar, permitir).
PageLog
Especifica el nombre del archivo de registro de páginas.
Port
Especifica un número de puerto para la escucha de peticiones HTTP.
PreserveJobFiles
Especifica se se guardan los archivos de trabajos después de ser
impresos.
PreserveJobHistory
Especifica si se guarda el historial de impresión de trabajos
después de que éstos hayan sido impresos.
Printcap
Especifica el nombre de un archivo printcap que se actualiza
automáticamente con una lista de impresoras disponibles (necesario
para aplicaciones heredadas).
PrintcapFormat
Especifica el formato del archivo printcap.
PrintcapGUI
Especifica si se deben generar archivos de definición de panel de
opciones en algunos sistemas operativos.
ReloadTimeout
Especifica la cantidad de tiempo que se debe esperar a que se
imprima un trabajo antes de reinicializar el programa planificador
de tareas.
RemoteRoot
Especifica el nombre de usuario asociado con accesos no autentifi?
cados del usuario root.
RequestRoot
Especifica el directorio donde se guardan los trabajos de
impresión y otros datos de peticiones HTTP.
Require
Especifica que se necesita tal usuario o grupo.
RIPCache
Especifica la máxima cantidad de memoria a usar cuando se con?
vierten imágenes y archivos PostScript a mapas de bits para una
impresora.
RunAsUser
Especifica que el programa planificador de tareas debe ser ejecu?
tado como el usuario sin privilegios especificado con la directiva
User.
Satisfy
Especifica si todos o cualquier límite especificado para un lugar
debe ser satisfecho para permitir el acceso.
ServerAdmin
Especifica la dirección de correo del administrador del servidor.
ServerBin
Especifica el directorio donde se encuentran los programas de
transmisión, los CGIs, los demonios y los filtros.
ServerCertificate
Especifica el certificado de encriptación a usar.
ServerKey
Especifica la llave de encriptación a usar.
ServerName
Especifica el nombre completo del servidor.
ServerRoot
Especifica el directorio donde se encuentran los archivos de con?
figuración del servidor.
ServerTokens
Especifica la información que es incluida en la cabecera de las
respuestas HTTP del servidor.
SSLListen
Escucha en la dirección y puerto especificados para las conexiones
encriptadas.
SSLPort
Escucha en el puerto especificado para las conexiones encriptadas.
SystemGroup
Especifica el grupo a usar para la autentificación de clases del
sistema.
TempDir
Especifica el directorio donde se almacenan los archivos tempo?
rales.
Timeout
Especifica el tiempo de espera máximo en segundos en las peti?
ciones HTTP.
User
Especifica el nombre de usuario o ID a usar cuando se ejecuten
programas externos.

 Puede que tu impresora requiera de foo2zjs, se encuentra en los repositorios de SimplyMepis

Saludos y suerte 

Gabriel

+1
0
-1
Imagen de elrey
+1
0
-1

Hice la configuración nornal, o sea, sistema>administracion>impresoras>nuevaimpresora>seleccioné window samba y luego impresora de red>coloqué la clave de administrador para la maquina de window......, que linux la exige al seleccionar la maquina que presta el servicio de impreción....se visualizó la impresora que comparte windowxp....>instalé los driver y listo... pero antes hay que desactivar el firewall de mi maquina window.reiniciarla... y es todo

+1
0
-1
Imagen de modelo64
+1
0
-1

Gabriel, como siempre, muy completa tu explicación.

Ahora bien:

  • ya tengo configurado mi servidor de impresión en linux ubuntu 7.04 server con samba, pero no compartiendo la impresora (a menos que lo configure en forma automática y no visible como los directorios), sino sólo ciertos directorios del ubuntu
  • ya pude (como administrador) crear una impresora desde http://servidor_631/printers
  • ya probé limitar el acceso a "administrar" la impresora a ciertos usuarios (por su ip)
  • también pude acceder sin inconvenientes desde distintas pc de mi red configuradas con xp (a pesar, como dije, de no estar compartidas desde samba)

la pregunta que te hago es ¿cómo "limito" el acceso a ciertos usuarios de xp de mi red si ellos no tienen usuario en ubuntu (se validan en un dominio de windows server 2003)? es decir, tienen usuario y clave de windows pero no de linux.

concretamente lo que necesito es:

  • que ciertos equipos de la red de mi sector accedan a la impresora,
  • que otros que yo defina no accedan,
  • y sobre todo, que ningún equipo de la red corporativa que no sea de mi departamento pueda acceder a imprimir en ella.

Si no entendí mal, según el man cupsd.conf con Allow ip y Deny ip se puede limitar el acceso a imprimir, pero no sé dónde y ni cómo se debe poner. Hice algunos intentos (obviamente reiniciando el cups en cada caso), pero me sigue permitiendo imprimir desde un equipo que supuestamente tiene un deny relacionado a su ip.

Desde ya muchas gracias.

Saludos

 

Enrique Rusconi

Buenos Aires - Argentina

 

 

///////////////////////////////////////////////////////////////////////////

...somos un juguete que Dios manipula caprichosamente...

///////////////////////////////////////////////////////////////////////////

+1
0
-1

...para Dios sólo somos un juguete al que manipula caprichosamente...

 

Imagen de Gabriel_M
+1
0
-1

Hola Enrique:

Para modificar directamente los archivos de configuración usa tu editor favorito y abre el archivo /etc/cups/cupsd.conf

Las directivas de permisos te permite definir que ip’s tienen acceso a que parte de CUPS.

Cada parte se corresponde a una sección de la interfaz web de administración.

Por ejemplo:

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

Configura el acceso a todo CUPS. Cada directiva Location define la configuración para un directorio y sus hijos.
Por lo tanto, la configuración del ejemplo se aplica al directorio raiz y todos sus hijos (que en la práctica es configurar el acceso a todo CUPS).

El significado de la directiva Order es el siguiente:

    * Allow,Deny: Se permite el acceso a todas las ip’s excepto aquellas listadas en las directivas Deny
    * Deny,Allow: Solo se permite el acceso a las ip’s listadas en directivas Allow

Para configurar el acceso a las impresoras se ha de definir la configuración para la carpeta /printers/:

<Location /printers/>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.1.*
</Location>

Con esta configuración permites el acceso a las impresoras (imprimir, gestionar trabajos y gestionar impresora) a las ip’s 127.0.0.1 (localhost) y toda la clase C 192.168.1.(1-254)

Otras Location interesantes que puedes gestionar en cups son:

 /admin (interfaz de administración)

 /job (gestión de trabajos).

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de modelo64
+1
0
-1

Gabriel, gracias nuevamente por tu respuesta.

Hice la prueba con lo que me indicás, pero lo único que logré es, como dije en el comentario anterior, limitar el acceso a las páginas http://ipservidor:631/admin, http://ipservidor:631/printers etc, es decir a la administración, selección, etc., de impresoras, pero no a que un usuario de xp no pueda imprimir en una impresora instalada en un servidor de impresión linux.

En otras palabras, necesito inhibir a un determinado usuario de xp (o varios) a que "agregue la impresora" del servidor de impresión de linux, y obviamente a que "imprima" en esa impresora.

 

En mi archivo cupsd.conf tengo lo siguiente:

<Location />

Order Deny,Allow

Deny From All

Allow From localhost

Allow From 10.0.29.1

</Location>

 

<Location /printers/>

Order Deny,Allow

Deny From All

Allow From localhost

Allow From 10.0.29.1

</Location>

 

y lo único que logro es que los equipos cuya ip sea diferente de 10.0.29.1 no ingresen a http://ipservidor:631/printers, pero sí pueden imprimir en la impresora...

 

¿qué es lo que estoy haciendo mal o qué es lo que está faltando?

 

Desde ya muchas gracias.

 

Enrique Rusconi

Buenos Aires - Argentina

 

//////////////////////////////////////////////////////////////////////////

...somos un juguete que Dios manipula caprichosamente...

//////////////////////////////////////////////////////////////////////////

+1
0
-1

...para Dios sólo somos un juguete al que manipula caprichosamente...

 

Imagen de Gabriel_M
+1
0
-1

Hola mod...:

Prueba con:

<Location /job/>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.1.*
</Location>

En teoría impedirias el envio de trabajos. 

Saludos.


Equipo de Ubuntu-es
+1
0
-1
Imagen de modelo64
+1
0
-1

Gabriel, hice el intento de agregar las líneas que me indicaste, pero el resultado sigue siendo el mismo: desde cualquier equipo puedo imprimir en la impresora del servidor de impresión por más que éste figure como "Deny From ipdelequipo"

La definición <Location /jobs> lo que sí logró es que desde el equipo desde el cual envío la impresión no pueda acceder a http://ipservidor:631/jobs, pero no que no envíe los trabajos a la cola.

 

Desde cualquier equipo puedo hacer:

net use lpt1 \\servidor\impresora

y enviar a imprimir con, por ejemplo, un

dir > lpt1

ya sea que la ip del equipo esté en un Deny o Allow.

 

Me resisto a creer que no haya forma de "limitar" el acceso a imprimir en un servidor de impresión linux, desde los equipos con xp que uno determine.

 

¿Alguna otra idea para probar?

 

Saludos

 

//////////////////////////////////////////////////////////////////////////

...somos un juguete que Dios manipula caprichosamente...

//////////////////////////////////////////////////////////////////////////

 

+1
0
-1

...para Dios sólo somos un juguete al que manipula caprichosamente...