[Eisfair] [e1] Samba pdf-Erstellung macht Probleme
Thomas Bork
tom at eisfair.org
So Jul 3 12:31:17 CEST 2016
Am 01.07.2016 um 15:31 schrieb Hans-Georg Kiefer:
> smbstatus zeigt für Windows 10-Zugriffe von der Anmeldung Hans-Georg
> Kiefer auf den PDF-Drucker:
> using configfile = /etc/smb.conf
> Samba version 4.3.9-for-eisfair-1-patch-1
> PID Username Group Machine Protocol Version
> ------------------------------------------------------------------------------
> 11650 tanne users 192.168.10.16
> (ipv4:192.168.10.16:60278) Unknown (0x0311)
> Opened /var/lib/samba/connections.tdb
> Service pid machine Connected at
> -------------------------------------------------------
> IPC$ 11650 192.168.10.16 Fri Jul 1 14:31:50 2016
> Eine TCP-Paket-Untersuchung mit Wireshark ergibt ein Protokoll-Typ SMB2.
> Warum ist dann aber ein Zugriff auf das home-Verzeichnis von tanne
> problemlos? Dort ist die Protocol Version ebenfalls unknown:
Möglicherweise ist das wirklich ein Protokoll-Problem bei der Auswertung
der Variablen innerhalb von Druckern (bei meinem Win10-Client ist das
Protokoll kastriert, da der in einer Domäne hängt).
Um das weiter zu debuggen lege Dir eine Datei
/var/install/bin/samba-smbinfo-pdf mit folgendem Inhalt an:
#----------------------------------------------------------------------------
# /var/install/bin/samba-smbinfo-pdf - debug samba macros
#
# Copyright (c) 2002-2016 Thomas Bork, tom(at)eisfair(dot)net
#
# Creation : 2016-07-03 tb
# Last Update: 2016-07-03 tb
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#----------------------------------------------------------------------------
outputfile=/public/pdf.log
echo
"----------------------------------------------------------------------------"
>>"$outputfile"
oldifs="$IFS"
IFS='|'
set -- $1
while [ -n "$1" ]
do
if [ -n "`echo "$1" | grep '='`" ]
then
index=`echo "$1" | cut -d'=' -f1`
value=`echo "$1" | cut -d'=' -f2`
case $index in
T ) message="Datum/Zeit (%$index)= $value";;
d ) message="PID des Servers (%$index) = $value";;
v ) message="Samba-Version (%$index) = $value";;
h ) message="(Internet)Hostname des Servers (%$index) = $value";;
L ) message="NETBIOS-Name des Servers (%$index) = $value";;
N ) message="NIS Heimat-Verzeichnis (%$index) = $value";;
p ) message="Pfad des NIS-Heimatverzeichnisses (%$index) =
$value";;
R ) message="Ausgehandeltes Protokoll-Level (%$index) = $value";;
S ) message="Name der aktuellen Freigabe (%$index) = $value";;
P ) message="Hauptverzeichnis der aktuellen Freigabe (%$index)
= $value";;
U ) message="Vom Client angeforderter Benutzername (%$index) =
$value";;
G ) message="Primaere Gruppe des angeforderten Benutzers
(%$index) = $value";;
u ) message="Name des effektiven Benutzers (%$index) = $value";;
g ) message="Primaerer Gruppenname des effektiven Benutzers
(%$index) = $value";;
H ) message="Heimatverzeichnis des effektiven Benutzers
(%$index) = $value";;
I ) message="IP Adresse des Client-Rechners (%$index) = $value";;
M ) message="(Internet)Hostname des Client-Rechners (%$index) =
$value";;
m ) message="NETBIOS-Name des Client-Rechners (%$index) = $value";;
a ) message="Betriebssystem des Client-Rechners (%$index) =
$value";;
esac
echo "$message" >>"$outputfile"
fi
shift
done
IFS="$oldifs"
Trage in der smb.conf im Bereich für den pdf-Drucker folgendes 'print
command' ein (kommentiere das alte aus):
[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' ) &
print command = ( /var/install/bin/samba-smbinfo-pdf
"T=%T|d=%d|v=%v|h=%h|L=%L|N=%N|p=%p|R=%R|S=%S|P=%P|U=%U|G=%G|u=%u|g=%g|H=%H|I=%I|M=%M|m=%m|a=%a"
) &
create mode = 0700
Sehe Dir die Informationen unter /public/pdf.log an, wenn Du von Win7
und Win10 aus "gedruckt" hast (es wird kein PDF erzeugt, es werden nur
die Makros geloggt).
Beispiel:
Datum/Zeit (%T)= 2016/07/03 12:10:59
PID des Servers (%d) = 13937
Samba-Version (%v) = 4.3.10-for-eisfair-1-patch-1
(Internet)Hostname des Servers (%h) = referencetest32
NETBIOS-Name des Servers (%L) = referencetest32
NIS Heimat-Verzeichnis (%N) = referencetest32
Pfad des NIS-Heimatverzeichnisses (%p) = pdf
Ausgehandeltes Protokoll-Level (%R) = SMB2_10
Name der aktuellen Freigabe (%S) = pdf
Hauptverzeichnis der aktuellen Freigabe (%P) =
Vom Client angeforderter Benutzername (%U) = tb
Primaere Gruppe des angeforderten Benutzers (%G) = %G
Name des effektiven Benutzers (%u) = tb
Primaerer Gruppenname des effektiven Benutzers (%g) = users
Heimatverzeichnis des effektiven Benutzers (%H) = /home/tb
IP Adresse des Client-Rechners (%I) = 192.168.0.16
(Internet)Hostname des Client-Rechners (%M) = 192.168.0.16
NETBIOS-Name des Client-Rechners (%m) = tb-pc
Betriebssystem des Client-Rechners (%a) = Vista
Bei Win7 sieht man bei mir sehr schön, dass die Auswertung des
Betriebssystems nicht auf der Höhe der Zeit ist.
Bei Win10 und dem Protokoll SMB3_11 (0x0311) wirst Du bei Dir dann
sicherlich sehen, dass der User nicht korrekt aufgelöst wird...
--
der tom
[eisfair-team]
Mehr Informationen über die Mailingliste Eisfair