Article View: de.comp.os.linux.networking
Article #23Re: drucken ins novell-netz
From: Sebastian Bunka
Date: Wed, 05 Jun 1996 00:00
Date: Wed, 05 Jun 1996 00:00
174 lines
8597 bytes
8597 bytes
In article <ortner.421.00230380@ebwnov.tuwien.ac.at>,
ortner@ebwnov.tuwien.ac.at (Gerhard Ortner) writes:
>In article <4oqjfj$h6g@dm2.uibk.ac.at> schuste2@bau2.uibk.ac.at (Richard Schuster) writes:
>>From: schuste2@bau2.uibk.ac.at (Richard Schuster)
>>Subject: drucken ins novell-netz
>>Date: 1 Jun 1996 23:24:35 GMT
>
>>Hallo!
>
>>Ich habe folgendes Problem:
>>Ich moechte von meinem Linux-Rechner aus auf einen Drucker im Novell Netz
>>zugreifen. In der der etc/printcap ist es ja auch moeglich remote auf
>>einen Drucker zuzugreifen. Ich glaube dazu muss man den remote server (novell)
>>und den remote printer (z.b. hp LaserJet III) irgendwie ansprechen.
>>Wie geht das genau? Und was muss auf der Novell-Seite getan werden?
>>Muss dort der sys-admin meinen Linuxrechner anmelden oder so?
>>TCP/IP und das IPX protokoll laufen, d.h der rechner haengt auch vollstaendig
>>am netz.
>
>>Es muss doch irgendwie moeglich sein, auf das Novell Netz zuzugreifen.
>>Ich bin fuer jeden Hinweis dankbar!
>
>Mittels ncpfs kann man Linux Rechner recht einfach in Novell Netze einklinken
>(d.h. z.B. ein Novell Drive dazumounten aberSehr geehrter Herr Schmitz,
------------------------------------------------
Nutzung der Novell-Netware Printqueues ueber den BSD-Lineprinterdaemon
von Linux'95
Seit der Unterstuetzung des IPX-Protokolls durch Linux (Teile (C) 1995,
Caldera company) gibt es fuer die Kernel Versionen 1.2.x, neben der vollen
Unterstuetzung der Netware-Shells unter dem Dosemulator, einige Ansaetze
Netwareserver zu emulieren (LinuxWare, sunsite.unc.edu:
/pub/Linux/system/Network/lwared-0.9x.tar.gz; Mars_nwe,
ftp.uni-duisburg.de:/pub/linux/ipxware/mars_nwe.tgz), oder auch
Netware-Volumes von Linux aus zu mounten (ncpfs von Volker Lendecke). Die
neueste Version von ncpfs erlaubt es nun auch ueber das dem
Netware-Dienstprogramm vergleichbaren "nprint", den Zugriff vom nativen
Linux auf die Netware Printqueues.
-----Liesmich vom neuen ncpfs:
Begin3
Title: ncpfs
Version: 0.13
Entered-date: 28. January 1996
Description: With ncpfs you can mount volumes of your novell
server under Linux. You need kernel 1.2.x or
1.3.54 and above. ncpfs does NOT work with any 1.3.x
kernel below 1.3.54.
Keywords: filesystem kernel ncp novell netware
Author: lendecke@namu01.gwdg.de (Volker Lendecke)
Maintained-by: lendecke@namu01.gwdg.de (Volker Lendecke)
Primary-site: linux01.gwdg.de:/pub/ncpfs
Alternate-site: sunsite.unc.edu:/pub/system/Filesystems/
~67k ncpfs-0.13.tgz
~ 1k ncpfs-0.13.lsm
Copying-policy: GPL
End
----ende
Nach Kompilieren der Programme (vorausgesetzt der Kernel 1.2.x ist mit
Unterstuetzung von IPX kompiliert worden) genuegt es, das Modul ncpfs.o zu
laden (/sbin/insmod ncpfs.o) und das IPX-Interface zu konfigurieren (im
einfachsten Falle: /your_path/ipx_configure --auto_primary=on
--auto_interface=on). Um die Services immer zur Verfuegung zu haben, koennen
diese z.B. ins /etc/rc.d/rc.local eingesetzt werden.
Zum mounten/unmounten von Netware-Volumes steht das Programm "ncpmount" bzw.
"ncpumount" zur Verfuegung (Aufruf: ncpmount -S server -U Netware-ID -P
passwort mount-Punkt). Mit dem Programm "slist" koennen, wie beim
gleichnamigen Netware-Programm, die verfuegbaren Servernamen aufgelistet
werden. Mit dem Programm "pqlist -S server -U Netware-ID -P passwort"
koennen nun die verfuegbaren Printqueues angezeigt werden. Ausdruck von
Linux aus auf einem Printqueue kann erfolgen mit: "nprint -S server -U
Netware-ID -P passwort -q Queuename FILE". Wird das Passwort nicht mit
angegeben, wird durch das Programm danach gefragt.
Um den Servernamen, Netware-ID und Passwort nicht immer
wieder eingeben zu muessen, koennen diese Angaben in einer Datei namens
".nwclient" im Home-Verzeichnis eingetragen werden. Zum Schutz dieser
Informationen vor anderen Nutzern MUSS diese Datei mit den Attributen
Read-Write nur fuer den Nutzer versehen sein (chmod 600 .nwclient). Ein
Eintrag koennte aussehen: NETSERV7/MY_NAME MY_PASSWORD. Ist das Programm
"ncpmount" mit dem Attribut SetUID root versehen, kann jeder Nutzer mit
Novell-Zugangsberechtigung ein Netware-Volume mounten mit "ncpmount
mount-point" und drucken mit "nprint -q MY_PRINTER FILE".
Um nun diese Druckmoeglichkeit in das BSD-lpd System von Linux einzubinden,
ist es erforderlich, sowohl die Sicherheitsaspekte zu beruecksichtigen
(Netware-Passwort), als auch die entsprechenden Filter einzurichten (z.B.
Ghostscript; DVILJ).
Eine derartige Konfiguration mit den Komponenten Linux 1.2.13, ncpfs-0.13,
Netware 3.11 (250 user) und einem HP Laserjet 4 (Queue: XLJ4_1) mit
Jetdirect-Karte, angeschlossen an den Server SERVER2, Netware Account X123PC
ist im folgenden dargestellt. Als Standardshell wird die bash verwendet;
Anpassungen der Scripten fuer andere shells sind ggf. noetig.
Bei der vorgestellten Loesung ist es erforderlich in einer Datei das
Novell-Passwort im Klartext einzutragen. Diese Datei sollte aus
Sicherheitsgruenden das Eigentumsrecht des lp-Daemonen tragen und nur fuer
diesen lesbar sein (Im Falle meines Systems: chown bin NOVELL_PASSWD; chmod
600 NOVELL_PASSWD). Das Sicherheitsrisiko ist damit nicht groesser als bei
der Verwendung einer ".nwclient"-Datei.
A) Novell-Passwort Datei /etc/NOVELL_PASSWD (enthaelt nur das Passwort)
HAEGAR
B) Eintragungen in der /etc/printcap:
#
# Zum Ausdruck von Postscript-Files
#
lp8|psnovell|gsnovell|gslj4:\
:lp=/dev/null:sd=/usr/spool/lp1:sh:if=/usr/spool/lp1/if_gs_novell:
#
# Zum Ausdruck von DVI-Files
#
lp9|dvilj4|dvinovell:\
:lp=/dev/null:sd=/usr/spool/lp1:sh:if=/usr/spool/lp1/if_dvi_novell:
#
C) Die Input-Filter Scripts
a) Input Filter fuer ps; "if_gs_novell"
#!/bin/sh
# Zuerst das Passwort einlesen
NOV_PASS=`cat /etc/NOVELL_PASSWD`
# Nun Ghostscript als Filter aufrufen und an das Programm nprint
# weiterleiten
/usr/bin/gs -sDEVICE=ljet4 -sPAPERSIZE=a4 -q -dSAFER \
-dNOPAUSE -sOutputFile=- - | /var/adm/novell/nprint \
-S SERVER2 -U X123PC -P $NOV_PASS -q XLJ4_1 -
b) Input Filter fuer dvi-Files; "if_dvi_novell"
Hierbei muss eine temporaere Datei erstellt werden, da das
Uebersetzungsprogramm dvilj (dvi -> PCL), auch in der aktuellen
Version dviljk-2.5, nicht als Zwischenglied in einer Pipe verwendet
werden kann - anders als in der Dokumentation beschrieben.
#!/bin/sh
NOV_PASS=`cat /etc/NOVELL_PASSWD`
# Aus dem Datum einen "zufaelligen" Namen erstellen
RANDOM1=`date +%s | cut -b2-9`
TMPFILE=/tmp/$RANDOM1.dvi
# Nun die zu druckende Datei hineinschreiben
cat - > $TMPFILE
# und ausgeben ueber den Netware Printqueue; temp. Datei loeschen
/usr/bin/dvilj -s26 -q -e- $TMPFILE | /var/adm/novell/nprint \
-S SERVER2 -U X123PC -P $NOV_PASS -q XLJ4_1 - ; rm $TMPFILE
Die Input-Filter Scripten dabei mit dem executable Attribut versehen (chmod
755).
Nun stehen die Drucker lp8 und lp9 (bzw. die alias'se) systemweit unter
Linux zur Verfuegung. Gegenueber der Loesung ein lpd-NLM fuer den
Netware-Printserver einzusetzen hat die hier beschriebene Loesung die
Vorteile, dass bei einer existierenden Linux-Maschine keine Kosten
entstehen, dass kein Eingriff in den Netware-Server erfolgen muss/braucht -
also auch ohne den Netware-Administrator erfolgen kann - und das auch fuer
andere Unix-Computer ueber den Remote-Printing-Service der Linux-Maschine
Netware Printqueues zugaenglich werden.
Viel Spass, Sebastian
------------------------------------------------------------------------
Sebastian Bunka ph. (+43-1) 250 77 4208
Institute of FAX (+43-1) 250 77 4290
Medical Chemistry email: Sebastian.Bunka@vu-wien.ac.at
University of Veterinary Medicine - Vienna - Austria
------------------------------------------------------------------------
Technical Details
Message-ID:
<4p3nnf$pug@osiris.wu-wien.ac.at>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<4oqjfj$h6g@dm2.uibk.ac.at>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit X-Google-Thread: 109314,11bc8156f80d2b1c X-Google-Attributes: gid109314,public X-Google-Thread: 1101c9,11bc8156f80d2b1c X-Google-Attributes: gid1101c9,public X-Google-Thread: 10acab,11bc8156f80d2b1c X-Google-Attributes: gid10acab,public From: bunka@i112syw1.vu-wien.ac.at (Sebastian Bunka) Subject: Re: drucken ins novell-netz Date: 1996/06/05 Message-ID: <4p3nnf$pug@osiris.wu-wien.ac.at> X-Deja-AN: 158591082 references: <4oqjfj$h6g@dm2.uibk.ac.at> organization: Vet. University Vienna newsgroups: de.comp.os.linux.networking,at.fido.linux,at.linux