[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