pcnfsd(8) pcnfsd(8)
NAME
pcnfsd, rpc.pcnfsd - PC-NFS-Berechtigungsprüfung und Druckserver
SYNTAX
/usr/sbin/rpc.pcnfsd
BESCHREIBUNG
pcnfsd ist ein RPC-Server, der ONC (Open Network Computing) Clients
auf PC (DOS, OS/2, Macintosh und anderen Systemen) unterstützt. Hier
wird die Version 2 des pcnfsd-Servers beschrieben.
rpc.pcnfsd kann von /etc/rcX.d/SYYnfs aus gestartet werden. Er liest
die Konfigurationsdatei /etc/pcnfsd.conf und bedient dann RPC (Remote
Procedure Call)-Aufrufe. Diese Freigabeversion des pcnfsd-Dämon unter-
stützt Version 1 und Version 2 des pcnfsd-Protokolls.
BERECHTIGUNGPRUEFUNG
Wenn pcnfsd eine PCNFSDAUTH- oder PCNFSD2AUTH-Anfrage erhält, meldet
es den Benutzer an, indem es den Benutzernamen und das Kennwort bestä-
tigt und Benutzerkennung (uid), Gruppennummer (gid), Homeverzeichnis
und Schutzbit-Maske (umask) zurückliefert.
Die Voreinstellung erlaubt pcnfsd nur Identifikations-Aufrufe durch
Benutzer, deren Benutzerkennung zwischen 101 und 60002 liegt. (In SVR4
entspricht dies dem Bereich für Nicht-Verwaltungs-Logins.) Um diese
Einstellung zu ändern, muß in der /etc/pcnfsd.conf-Datei folgende
Zeile eingegeben werden:
uidrange range[,range] ...
Dabei hat jeder range-Bereich das Format:
uid
oder:
uid-uid
bei Anzeige eines inklusiven Bereichs.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
pcnfsd(8) pcnfsd(8)
AUSWAHL DES SPOOLSYSTEMS
In der Datei /etc/pcnfsd.conf kann der Spooler definiert werden. Fol-
gende Einträge sind möglich:
spooler ATT
für ATT-lp
spooler sispl3
für Spool V3
spooler sispl4
für Spool V4
DRUCKEN
pcnfsd unterstützt ein Druckmodell, das auf der Verwendung von NFS
beruht, um die tatsächlichen Druckdaten vom Client an den Server zu
übertragen. Das Client-System gibt eine PCNFSDPRINIT- oder
PCNFSD2PRINIT-Anfrage aus, und der Server gibt den Pfad an das
Spool-Verzeichnis, das der Client benutzen darf und das von NFS expor-
tiert wird. pcnfsd legt für jeden seiner Clients ein Unterverzeichnis
an: Das Vaterverzeichnis ist normalerweise /var/spool/pcnfs, und das
Unterverzeichnis ist der Rechnername des Client-Systems.
Wenn Sie ein anderes Elternverzeichnis benutzen möchten, fügen Sie
folgende Zeile in die /etc/pcnfsd.conf-Datei ein:
spooldir path
Wenn der Client auf das Spool-Verzeichnis mit NFS zugegriffen und
Druckdaten in eine Datei in diesem Verzeichnis übertragen hat, gibt er
eine PCNFSDPRSTART- oder PCNFSD2PRSTART-Anfrage aus. pcnfsd bear-
beitet sie (und die meisten anderen druckbezogenen Anfragen) dadurch,
daß ein Kommando, das auf den Druckdiensten des Server-Betriebssystems
basiert, konstruiert und durch die Benutzer-ID des PC-Benutzers ausge-
führt wird. Da dies Rechte zum Setzen von Benutzer-IDs beinhaltet, muß
pcnfsd im Root-Verzeichnis laufen.
Jede Druckanfrage des Client enthält den Namen des Druckers, der zu
benutzen ist. Wenn Sie eine Bearbeitung der Druckdaten wünschen, die
nicht dem Standard entspricht, sollte Sie einen neuen Drucker definie-
ren und den Client anweisen, diesen Drucker zu benutzen. Aber das
sprengt den Rahmen dieser Diskussion. Zusätzlich enthält pcnfsd einen
Mechanismus, mit dem Sie virtuelle Drucker definieren können, die nur
pcnfsd-Clients bekannt sind. Jeder Drucker wird durch die Eingabe fol-
gender Zeile in der /etc/pcnfsd.conf-Datei definiert:
printer name alias-for command
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
pcnfsd(8) pcnfsd(8)
name ist der Name des Druckers, den Sie definieren möchten. alias-for
ist der Name des "real" (echten) Druckers, der diesem Drucker ent-
spricht. Z. B. wird die Anfrage, die Warteschlange von name anzuzei-
gen, in die entsprechende Anfrage für den Drucker alias-for übersetzt.
Wenn Sie einen Drucker so definiert haben, daß er keinem "echten"
Drucker entspricht, benutzen Sie ein einfaches "-" für dieses Feld.
(Siehe Beispieldefinition des Druckers "test" unten.) command ist ein
Kommando, das ausgeführt wird, wenn eine Datei auf name gedruckt wird.
Dieses Kommando wird immer von der Bourne-Shell ausgeführt, wobei
/bin/sh die -c-Option benutzt. Bei schwierigen Operationen sollten Sie
ein ausführbares Shell-Programm schreiben, das im command ausgeführt
wird.
Im command werden folgende Tokens ersetzt:
$FILE wird durch den vollen Pfadnamen der Druckdatendatei ersetzt.
Wenn das Kommando ausgeführt wurde, wird die Verbindung zur
Datei wieder unterbrochen.
$USER wird durch den Namen des Benutzers ersetzt, der im Client-
System angemeldet ist.
$HOST wird durch den Rechnernamen des Client-Systems ersetzt.
$OPT wird durch die Optionen ersetzt, die vom Client-System ange-
geben werden.
Beachten Sie folgende /etc/pcnfsd.conf-Beispieldatei:
printer rotated lw /usr/local/bin/enscript -2r $FILE
printer test - /usr/bin/cp $FILE /usr/tmp/$HOST-$USER
Wenn ein Client-System einen Auftrag auf dem "rotated"-Drucker aus-
gibt, wird das enscript-Dienstprogramm dazu aufgerufen, die Datei
$FILE vorzubearbeiten. In diesem Fall bewirkt die Option -2r, daß die
Datei im zweispaltigen Rotationsformat auf dem voreingestellten
PostScript-Drucker ausgegeben wird. Wenn der Client eine Liste der
Druckerwarteschlangen für den "rotated"-Drucker anfordert, übersetzt
der Dämon pcnfsd dies in eine Anfrage für eine Liste des "lw"-
Druckers.
Der Drucker "test" wird nur zum Testen benutzt. Alle an diesen Drucker
geschickten Dateien werden nach /usr/tmp kopiert. Alle den Drucker
"test" betreffende Anfragen, die Warteschlange aufzulisten, den Status
zu überprüfen usw., werden zurückgewiesen, da alias-for als "-" ange-
geben wurde. Um dem PC diesen Drucker bekannt zu machen, ist es not-
wendig, in dem Verzeichnis /etc/lp/printers ein Verzeichnis anzulegen,
das den Namen des Druckers trägt; das Verzeichnis heißt deshalb in
unserem Fall /etc/lp/printers/test.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
pcnfsd(8) pcnfsd(8)
NEUKONFIGURATION
pcnfsd erkennt, daß Drucker hinzugefügt oder gelöscht worden sind und
baut eine neue Liste der gültigen Drucker auf. Um dies zu tun, wird
die Änderungszeit von /etc/lp/printers überprüft. Die Datei
/etc/pcnfsd.conf wird jedoch nicht auf Aktualisierungen überwacht;
wenn Sie diese Datei ändern, muß pcnfsd abgebrochen und neu gestartet
werden, damit die Änderungen aufgenommen werden.
DATEIEN
/etc/pcnfsd.conf
SIEHE AUCH
lp(1), lpstat(1).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98