[Eisfair] [e1] Samba pdf-Erstellung macht Probleme

Hans-Georg Kiefer HansGeorg at edv-einsteiger.de
Mo Jun 20 20:32:25 CEST 2016


Hallo, Tom.
Danke für deine Zeit und die ausführliche Erläuterung.

Am 19.06.2016 um 23:21 schrieb Thomas Bork:
> Am 19.06.2016 um 22:50 schrieb Hans-Georg Kiefer:
>
>> Mit welchem Druckertreiber?
>
> Dem aus /public/ghostscript_pdf_drivers
>
Ja, ich auch.

>>> Das Problem liegt einzig und allein darin, dass Du irgendwie als User
>>> nobody am System angemeldet bist.
>> Das ist unlogisch. Ich kann ja auf meine Freigaben zugreifen und das PDF
>> im Ordner /tmp bzw. /public hat den korrekten Besitzer. Woher stammen
>> diese Informationen sonst?
>
> Ok, räufeln wir das mal von hinten auf:
>
> In /var/install/bin/samba-print-pdf steht im Kopf:
>
> [...]
> # Arguments:
> # $1  = file (usually passed with %s from samba)
> # $2  = jobname (usually passed with %J from samba)
> # $3  = unix prefix to where to place the file (~%u should work)
> # $4  = windows prefix to the same location (\\%L\%u should work)
> # $5  = computer to send a notification to (%m)
> # $6  = ip address of client (%I)
> # $7  = user (%u)
> # $8  = pdfquality
> # $9  = pdfownerpass
> # $10 = pdfuserpass
> # $11 = pdfpermissions
> # $12 = pdftarget: homedir or public or mail
> # $13 = smbinfo yes/no
> # $14 = pdfmessages yes/no
> [...]
>
> Der User wird dem Skript also als Argument 7 übergeben. Aber wer ruft
> das Skript auf? Samba natürlich. Wird auf die Druckerfreigabe gedruckt,
> wird das Skript laut den Optionen in der smb.conf aufgerufen.
>
> Sehen wir uns also die Optionen für die Druckerfreigabe in smb.conf an:
>
> [pdf]
>  comment = pdf-service on %h
>  printing = bsd
>  use client driver = yes
>  browseable = yes
>  printable = yes
>  path = /var/spool/samba
>  lpq command = /var/install/bin/samba-print-pdf status
>  print command = ( /var/install/bin/samba-print-pdf '%s' '%J' '%H'
> '//%L/%u' '%m' '%I' '%u' '-dPDFSETTINGS=/default' '-sOwnerPassword='
> '-sUserPassword=' '-dPermissions=' 'homedir' 'no' 'yes' ) &
>  create mode = 0700
>
> Interessant ist hier 'print command'. Das 7. Argument ist '%u'. Das ist
> ein Samba-Makro, welches den verbundenen User ausgibt. Und das ist bei
> Dir zum Zeitpunkt des Skript-Aufrufes nun mal nobody, wie die Ausgabe im
> Log
>
> (user)<tab><tab>: nobody
>
> gezeigt hat.
>
Ich habe in samba-print-pdf ganz frech mal folgnde Zeile nach der 
Parameterzuweisung angefügt:
user="$USER"
Das ergibt in meinem Fall passenderweise "HansGeorg".
Auszug aus cat samba-print-pdf-grfyJpjH3G.log
Lieber HansGeorg,

Ihre Datei wurde konvertiert und an Sie gemailt.

#######################################
Ein paar Informationen ueber diesen Job:

(user)<tab><tab>: HansGeorg
(prefix/homedir)<tab>: /dev/null
(quality)<tab><tab>: default
(permissions)<tab>: -dPermissions=-4
(jobname)<tab>: Testseite
(psjobname)<tab>: Testseite
(trim0)<tab><tab>: ->Testseite<-
(trim1)<tab><tab>: ->Testseite<-
(trim2)<tab><tab>: ->Testseite<-
(trim3)<tab><tab>: ->Testseite<-
(trim4)<tab><tab>: ->Testseite<-
(trim5)<tab><tab>: ->Testseite<-
(trim6)<tab><tab>: ->Testseite<-
(trim7)<tab><tab>: ->Testseite<-
(name)<tab><tab>: ->Testseite<-
(basefile)<tab><tab>: pdf-service
(output)<tab><tab>: /dev/null/pdf-service-acer-2331
(tempfile)<tab><tab>: /tmp/Testseite-2331.pdf
(finaloutput)<tab>: Testseite-2331.pdf
(winbase)<tab><tab>: \\server\nobody
                               ^^^^^^
Das pdf wird per mail korrekt zugestellt, landet aber bei der 
Einstellung Target=homedir trotzdem im Nirvana.

Da ich nur Win10 als "Home"-Version habe, kann ich es nur in einer 
Arbeitsgruppe verwenden. Irgentwas ist bei Win10 anders als bei Win7.

Ich will dich nicht mehr löchern. Ich kann meine pdf-Dateien mit dem 
PDF-Printer von Win10 erstellen. Am Linux-Client ist das ja alles 
überflüssig. Aber '//%L/%u' verstehe ich noch nicht so ganz.

Na egal. Schwamm dr+ber.

Gruß, Tanne
-- 
--------------------------
Es grüsst hochachtungsvoll
******* T A N N E ********


Mehr Informationen über die Mailingliste Eisfair