Das einzige was mich stört ist die mangelnde Security - jeder könnte
(solang es am Share vorhanden ist) jedes erstellte PDF lesen...
Wie könnte man das denn verbessern? Eine Möglichkeit wäre, pro Rechner,
der das nutzen soll, ein eingenes Share zu definieren, auf das nur
vom jeweiligen Client zugegriffen werden kann, aber das wird irgendwann
unübersichtlich... Könnte man das mittels Samba irgendwie an den
Windows-Rechner 'zurücksenden' (sodaß z.B. wie beim Drucken in eine
Datei eine Popupbox aufgeht, die fragt, wohin das gespeichert werden soll?
Hmm...
Grüße, Wolfgang
--
Meine Homepage: http://oeh.tu-graz.ac.at/~dauti/ Ausserdem Webmaster von:
http://oeh.tu-graz.ac.at, http://www.usenet.at, http://ersworks.org/lugg/,
http://aviation.fh-joanneum.at, http://www.wist.vc-graz.ac.at,
http://schienenfahrzeugtechnik.fh-joanneum.at, http://www.koma.dyn.priv.at
tschü
Jörg
>> Das einzige was mich stört ist die mangelnde Security - jeder könnte
>> (solang es am Share vorhanden ist) jedes erstellte PDF lesen...
>>
> vielleicht könnte man dem Skript den Benutzernamen mitgeben, der den Job
> gestartet hat, das fertige pdf mit chown den entsprechenden Benutzer
> übereignen und die permissions auf nur-Besitzer-kann-lesen setzen.
oder gleich in sein $HOME oder $HOME/pdf-print schieben
und zusätzlich noch den Dokumtenten-Name aus der ps-Datei auslesen um einen
brauchbaren Filenamen zu bekommen
Chris,
der für obiges gerade mit LDAP-lookup's kämpft
Hallo Wolfgang!
> Ich habe im Grossen und Ganzen wie unter
> http://www.linuxgazette.com/issue72/bright.html
> beschrieben mit Samba und Ghostscript einen PDF Service eingerichtet.
> Funktioniert prima, die User sind begeistert.
>
> Das einzige was mich stört ist die mangelnde Security - jeder könnte
> (solang es am Share vorhanden ist) jedes erstellte PDF lesen...
Wenn du die create mask in der smb.conf auf 600 stellst, dann kann nur
der User, der die Datei angelegt hat, diese auch öffnen.
Gruß
Detlef
Antworten bitte nur in der Newsgroup posten.
1. Printing über lprng, printcap:
ps2pdf:\
:lp=/dev/null:sd=/var/spool/ps2pdf:filter=root
/usr/local/bin/if_ps2pdf:
der inputfilter ist dann folgendes kleine perlscript:
#! /usr/bin/perl
#
@CTL=split '\n', $ENV{CONTROL};
# scan controlfile
for (@CTL) {
if (/^P/) { # username
s/^P//;
$USERNAME=$_;
$PDFNAME="/home/$USERNAME/pdf.pdf";}
if (/^J/) { # Jobname
s/^J//;
$JOBNAME=$_;}
}
($sek,$min,$std,$mtag,$mon,$jahr)=localtime(time);
$jahr=$jahr+1900;
$mon=$mon+1;
unlink $PDFNAME;
system "ps2pdf - $PDFNAME";
chmod 0600,$PDFNAME;
$size=(stat $PDFNAME)[7];
open F,">>/var/log/ps2pdf";
print F "$jahr-$mon-$mtag $std:$min:$sek $USERNAME $JOBNAME $PDFNAME
$size\n";
chown((getpwnam($USERNAME))[2,3],$PDFNAME);
close F;
Der Eintrag in smb.conf schließlich ist so:
[ps2pdf]
comment = Wandelt Postscript in PDF ins Home
path = /tmp
browseable = yes
printable = yes
public = yes
ob das genial ist weiß ich nicht, aber es funktioniert. Einfach mit einem
Postscript-Treiber reindrucken und ein paar Sekunden später hast du eine
pdf.pdf in deinem Home.
> oder gleich in sein $HOME oder $HOME/pdf-print schieben
Die meisten User haben auf dem Linux-Server gar keinen Account, ergo
gibts meistens kein $HOME. Aber ich hab da gleich noch ein paar Fragen:
(a) Der Service hat für kleine Dokumente gut funktioniert, bei grossen
wurde oft nur der erste Teil konvertiert. Manuell (= Postscript Datei
irgendwohin kopieren und dann mit ps2pdf konvertieren hat aber alles
funktioniert. Nach einer *ziemlich langen* Fehlersuche vermute ich
folgenden Fehler: ps2pdf machte irgendwelche Bildschirmausgaben (STDOUT
oder STDERROR). Ich vermute Samba hat das (bei einem "Druckbefehl"
nicht erwartet, einen Fehler vermutet und den Druckbefehl gekillt. Kann
das wer bestätigen/widerlegen? Nachdem ich ">/dev/hull 2>&1"
beim "print command" dazugeschrieben habe, scheint der Fehler nicht
mehr aufzutreten - aber ich weiss natürlich nicht, ob das tatsächlich
die Ursache war...
(b) Zur Lösung meines "Sicherheitsproblems" bin ich auf die Idee gekommen,
in den Dateinamen z.B. mit dem "%I"-Makro die IP-Adresse des Clients
einzubauen. Und dann bräuchte ich das "Gegenstück" zu "veto files". Also
nicht eine 'Negativliste' (welche Dateien sollen nicht angezeigt werden),
sondern eine Positivliste (Zeige alle Dateien, die mit der entsprechenden
Client IP "%I-*" an - sonst keine. Gibts sowas? In der Doku bin ich
nicht fündig geworden...
Ciao Wolfgang
> Das einzige was mich stört ist die mangelnde Security - jeder könnte
> (solang es am Share vorhanden ist) jedes erstellte PDF lesen...
> Wie könnte man das denn verbessern? Eine Möglichkeit wäre, pro Rechner,
> der das nutzen soll, ein eingenes Share zu definieren, auf das nur
> vom jeweiligen Client zugegriffen werden kann, aber das wird irgendwann
> unübersichtlich... Könnte man das mittels Samba irgendwie an den
> Windows-Rechner 'zurücksenden' (sodaß z.B. wie beim Drucken in eine
> Datei eine Popupbox aufgeht, die fragt, wohin das gespeichert werden soll?
Ich habe es in unserer Firma (> 1000 User) so gelöst, dass Samba den
Usernamen und den Pfad zum generierten PDF an ein Script weitergibt.
Dieses durchsucht später ein Verzeichnis (unseren Exchange-Server -> LDAP)
nach dem Usernamen und erhält dabei die Email-Adresse des Users.
Es könnte genauso natürlich auch eine Datenbank oder ein Textfile sein. Je
nach Anzahl der User bist Du aber froh, wenn Du die Daten so einfach finden
kannst.
Als letztes wird das PDF mit Hilfe von Mutt (der kann Attachments m.E.
ziemlich einfach versenden) an den entsprechenden User zurückgesendet.
Bei PDFs < 5MB (was eigentlich meistens der Fall ist) kommst Du damit prima
durch. Für die wenigen Ausnahmen würde ich pro Abteilung einen Acrobat
installiert lassen...
Gruss,
Michael
PS: Wer interesse an dem Script hat darf es gerne haben. Als Gegenleistung
wäre ich froh, wenn mir jemand helfen würde, das ganze mal zu testen, zu
verbessern und zu dokumentieren (Pro-Linux freut sich z.B. über solche
Artikel!). Freiwillige vor...! Danke.
http://webweaver.de/mattias/index.rb?section=typesetting&subsection=pdf-service&style=screen
Da gibt's einen Link zu einem Script, das die PDF per Mail an den User
sendet.
--
Karl VOIT, Graz University of Technology (Austria/Europe)
begin I_am_a_Signature_-_not_a_Virus.jpg.txt
http://www.dagegen.org/LOVE-LETTER.txt.html
end