Samba Server - Treiber fuer Windows Clienten bereitstellen

Dieses Thema im Forum "Samba" wurde erstellt von cpg-nighty, 13.03.2008.

  1. #1 cpg-nighty, 13.03.2008
    Zuletzt bearbeitet: 13.03.2008
    cpg-nighty

    cpg-nighty Grünschnabel

    Dabei seit:
    13.03.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo

    ich versuche seit zwei Tagen einen Samba Server so einzurichten, dass Windows Clienten die dazugehoerigen Treiber automatisch runterladen.
    Sowas soll mit Hilfe der print$ Freigabe ja auch moeglich sein.

    Meine bisherige Vorgehensweise:

    - Samba installiert
    - Samba so konfiguriert, dass root printer admin ist
    - Schreib- / Leserechte in den Ordnern
    /etc/samba/drivers
    /usr/share/cups/drivers
    fuer jeden gegeben
    - root fuer samba freigegeben (smbpasswd -a root)

    (folgendes habe ich nach der Anleitung von http://www.cups.org/doc-1.2/man-cupsaddsmb.html durchgefuehrt)
    - die Dateien
    ps5ui.dll
    pscript.hlp
    pscript.ntf
    pscript5.dll
    aus System32\spool\drivers\w32x86\3 in den Ordner /usr/share/cups/drivers kopiert
    - gleiches habe ich auch mit den Dateien auf http://svn.easysw.com/public/windows/trunk/i386/ getan

    - mit Hilfe von cupsaddsmb (-a -v -U root -H localhost) die Ordner WIN40 und W32X86 in dem print$ share angelegt

    Beim Aufruf vom letzten Befehl kam es zu einem Fehler, den ich allerdings nicht als wichtig eingestuft habe, da die passenden Ordner angelegt wurden:

    PHP:
    printerbase1:/usr/share/cups/drivers# cupsaddsmb -a -v -U root -H localhost
    Password for root required to access localhost via SAMBA:
    Running commandsmbclient //localhost/print$ -N -A /var/spool/cups/tmp/47d92c9e17f55 -c 'mkdir W32X86;put /var/spool/cups/tmp/47d92c9bd4c5f W32X86/HP_Laserjet_3_2200.ppd;put /usr/share/cups/drivers/ps5ui.dll W32X86/ps5ui.dll;put /usr/share/cups/drivers/pscript.hlp W32X86/pscript.hlp;put /usr/share/cups/drivers/pscript.ntf W32X86/pscript.ntf;put /usr/share/cups/drivers/pscript5.dll W32X86/pscript5.dll'
    WARNINGThe "printer admin" option is deprecated
    Domain
    =[PRINTERBASE1OS=[UnixServer=[Samba 3.0.24]
    NT_STATUS_OBJECT_NAME_COLLISION making remote directory \W32X86
    putting file 
    /var/spool/cups/tmp/47d92c9bd4c5f as \W32X86/HP_Laserjet_3_2200.ppd (9358.4 kb/s) (average 9358.9 kb/s)
    putting file /usr/share/cups/drivers/ps5ui.dll as \W32X86/ps5ui.dll (2911.1 kb/s) (average 3185.5 kb/s)
    putting file /usr/share/cups/drivers/pscript.hlp as \W32X86/pscript.hlp (12713.2 kb/s) (average 3574.4 kb/s)
    putting file /usr/share/cups/drivers/pscript.ntf as \W32X86/pscript.ntf (18001.5 kb/s) (average 10317.5 kb/s)
    putting file /usr/share/cups/drivers/pscript5.dll as \W32X86/pscript5.dll (16796.2 kb/s) (average 11787.5 kb/s)

    Running commandsmbclient //localhost/print$ -N -A /var/spool/cups/tmp/47d92c9e17f55 -c 'put /usr/share/cups/drivers/cups6.ini W32X86/cups6.ini;put /usr/share/cups/drivers/cupsps6.dll W32X86/cupsps6.dll;put /usr/share/cups/drivers/cupsui6.dll W32X86/cupsui6.dll'
    WARNINGThe "printer admin" option is deprecated
    Domain
    =[PRINTERBASE1OS=[UnixServer=[Samba 3.0.24]
    putting file /usr/share/cups/drivers/cups6.ini as \W32X86/cups6.ini (65.4 kb/s) (average 65.4 kb/s)
    putting file /usr/share/cups/drivers/cupsps6.dll as \W32X86/cupsps6.dll (6136.4 kb/s) (average 4113.0 kb/s)
    putting file /usr/share/cups/drivers/cupsui6.dll as \W32X86/cupsui6.dll (6675.5 kb/s) (average 5138.1 kb/s)

    Running commandrpcclient localhost --/var/spool/cups/tmp/47d92c9e17f55 -'adddriver "Windows NT x86" "HP_Laserjet_3_2200:pscript5.dll:HP_Laserjet_3_2200.ppd:ps5ui.dll:pscript.hlp:NULL:RAW:pscript5.dll,HP_Laserjet_3_2200.ppd,ps5ui.dll,pscript.hlp,pscript.ntf,cups6.ini,cupsps6.dll,cupsui6.dll"'
    WARNINGThe "printer admin" option is deprecated
    Printer Driver HP_Laserjet_3_2200 successfully installed
    .

    Running commandrpcclient localhost --/var/spool/cups/tmp/47d92c9e17f55 -'setdriver HP_Laserjet_3_2200 HP_Laserjet_3_2200'
    WARNINGThe "printer admin" option is deprecated
    SetPrinter call failed
    !
    result was WERR_ACCESS_DENIED

    Unable to set Windows printer driver 
    (1)!


    Folgendes Vorgehensweise hatte ich auf einer von vielen Howto Seiten gelesen...
    Danach habe ich mich auf dem Server mit dem Samba Protokoll als root eingeloggt und den Ordner "Drucker und Faxgeraete" geoeffnet. Den entsprechenden Drucker mit der rechten Maustaste angeklickt und Eigenschaften gewaehlt.
    Dabei erscheint direkt ein Prompt in dem gefragt wird, ob ich die Treiber des Druckers installieren moechte. Hier sollte man "Nein" waehlen.
    Im erscheinenden Fenster waehlte ich die Registerkarte "Erweitert" und klickte den Button "Neue Treiber" an. Dort waehlte ich die passenden Treiber aus und bestaetigte das letzte Fenster mit dem Button "Fertig stellen". Hierbei erscheint eine Grafik, die zeigt, dass die Treiber in die print$ Freigabe auf dem Server kopiert werden.
    Wenn ich dann alle Einstellungen uebernehmen moechte, sagt er mir, ich solle die Treiber auf meinem clienten installieren. Das funktioniert auch wunderbar. (somit sollte eigentlich alles getan sein)
    Schließe ich dann allerdings alle Fenster und wiederhole den Vorgang, so sind die Treiber nicht mehr auf dem Server, obwohl in der print$ Freigabe keine Aenderung zu sehen ist.

    Ich hoffe, dass ich mein Problem einigermaßen ordentlich geschildert habe und irgendjemand nicht vor dem etwas laengerem Text zurueckschreckt und mir weiterhilft ;)

    EDIT:
    habe noch ein bisschen gegoogelt und bin auf folgende Anleitung gestoßten: http://www.netadmintools.com/art258.html

    eigentlich habe ich genau das getan... selbst alle gegebenen Screenshots stimmen ueberein
    nur dass die Treiber halt nicht "auf dem Server bleiben"... bzw. nicht automatisch an die clienten uebertragen werden, wenn diese den Drucker hinzufuegen

    EDIT2:
    habe noch ein bisschen mehr ausprobiert und die ganze Geschichte mal mit der Linuxconsolen Variante durchprobiert (Treiber kopieren und mit rpcclient installieren bzw. zuweisen).
    Dabei bleibe ich bei dem "setdriver" Befehl haengen:

    PHP:
    printerbase1:/var/lib/samba# rpcclient -H localhost -U root%XXXXX -c 'setdriver "HP_Laserjet_3_2200" "HP_Laserjet_3_2200"' -N
    WARNINGThe "printer admin" option is deprecated
    SetPrinter call failed
    !
    result was WERR_ACCESS_DENIED
    Ich denke, dass bei der obigen Variante das gleiche Problem auftritt.
    Meine Frage: Warum? Ich fuehre alles unter Root aus... Es geht doch um irgendwelche Rechte, oder? Wo sollten "root" Rechte fehlen?

    Gruss
    David
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 cpg-nighty, 14.03.2008
    cpg-nighty

    cpg-nighty Grünschnabel

    Dabei seit:
    13.03.2008
    Beiträge:
    2
    Zustimmungen:
    0
    hab dann doch noch selber ne loesung gefunden ;)

    hier mal ne "kurze" anleitung fuer alle interessierten =)

    ps: entschuldigt die wiki Formatierung, aber ich hatte schlichtweg keine Lust das abzuändern...

    mfg

    cpg-nighty

    Dieser Artikel beschreibt, wie man einen Printserver aufsetzt, der an Windows XP Clienten automatisch die passenden Druckertreiber überträgt.
    Vorwort:
    Wichtig ist, dass alle Aktionen von ein und dem selben Windowsclienten durchgeführt werden. Dieser sollte sich stehts mit dem Namen "root" auf dem Sambaserver eingeloggt haben (egal ob per SSH oder Samba).

    =Debian 4.0 installieren=
    Debian auf einem PC installieren (Ich habe die Netinstallation von debian.org benutzt; ~160MB Iso Image)=

    =CUPS installieren=
    Wird mit folgendem Befehl ausgeführt:
    apt-get install cupsys

    =Drucker hinzufügen=
    Die entsprechenden Drucker bei CUPS hinzufügen (für HP-Drucker bietet sich hier das script hplip an); Sicherheitshalber sollte man einmal im CUPS Webinterface (http://ipvomserver:631) nachschauen, ob der oder die Drucker wirklich hinzugefügt wurden.

    =Samba installieren=
    Wird mit folgendem Befehl ausgeführt:
    apt-get install samba

    =Samba konfigurieren=

    =smb.conf editieren=
    Die smb.conf (liegt unter /etc/samba/) mit einem Editor öffnen und folgendes ändern/hinzufügen:

    Abschnitt ###### Printing ######
    load printers = yes
    printing = cups
    printcap name = cups
    printer admin = root
    cups options = raw

    Abschnitt ###### Authentication ######
    ; invalid users = root
    -> auskommentieren

    Abschnitt ###### Share Definitions ######
    [printers]
    comment = All Printers
    browseable = no
    path = /var/spool/samba
    printable = yes
    public = yes
    writable = no
    guest ok = yes
    printer admin = root

    [print$]
    comment = Printer Drivers
    path = /etc/samba/drivers
    browseable = yes
    read only = yes
    guest ok = no
    write list = root

    =Root als gültigen Sambauser hinzufügen=
    Als nächstes fügt man den Benutzer root zu den Sambabenutzern hinzu:
    smbpasswd -a root
    Folgend legt man ein Passwort für den Sambazugriff des Benutzers root fest.
    Damit root auch den Sambadienst nutzen kann, aktiviert man den Usernamen mit:
    smbpasswd -e root
    Damit alle Einstellungen übernommen werden, ist ein Neustart des Dienstes nötig:
    /etc/init.d/samba restart
    Testen kann man die Einstellungen beispielsweise mit einem Windowsclienten, der auf den Sambaserver mit den Userdaten von root zugreift.

    =Ordnerstruktur/Dateien anlegen=
    Nun erstellt man einen Ordner drivers im Unterordner /etc/samba mit:
    mkdir /etc/samba/drivers

    Als nächstes kopiert man folgende Dateien in den Ordner /usr/share/cups/drivers:
    ps5ui.dll
    pscript.hlp
    pscript.ntf
    pscript5.dll
    Die Dateien liegen auf jedem Windows XP Computer in: %WINDOWS%\SYSTEM32\SPOOL\DRIVERS\W32X86\3
    Wichtig hierbei ist, dass die Dateinamen nur kleine Buchstaben, wie angegeben beinhalten. Man muss die Dateien also gegebenenfalls umbennen.

    Gleiches führt man mit den folgenden Dateien aus:
    cups6.inf
    cups6.ini
    cups6.ppd
    cupsps6.dll
    cupsui6.dll

    Diese Dateien bekommt man unter folgender URL: http://svn.easysw.com/public/windows/trunk/i386/

    Sobald alle Dateien im Ordner /usr/share/cups/drivers liegen und passend benannt wurden, installiert man den Samba Clienten:
    apt-get install smbclient

    Als nächstes erstellt man im Ordner /etc/samba/drivers/ den Ordner W32X86 mit:
    mkdir /etc/samba/drivers/W32X86

    =Ordnerstruktur in print$ anpassen=
    Zusätzlich benötigt man noch einen Ordner mit dem Namen "3" im Ordner W32X86:
    mkdir /etc/samba/drivers/W32X86/3

    =Treiber kopieren=
    Nun kopiert man folgende Dateien in den gerade erstellten Ordner:
    UNIDRV.DLL
    UNIDRVUI.DLL
    pscript.hlp

    Diese Dateien findet man wieder im Ordner %WINDOWS%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 eines Windows XP Clienten.

    Hinzu fügt man die sogenannte .PPD Datei des Druckers. Diese lässt sich normalerweise in dem Windows XP Treiber des Druckers finden.
    Somit sollten im Ordner /etc/samba/drivers/W32X86/3 auf dem Linuxserver folgende Dateien liegen:
    UNIDRV.DLL
    UNIDRVUI.DLL
    pscript.hlp
    *.ppd

    =Treiber initialisieren=
    Nun führt man folgendes Kommando in der Linuxshell aus, ersetzt aber die XXXXXX durch den Namen der *.ppd Datei.

    rpcclient -H localhost -U root -c 'adddriver "Windows NT x86" "HP_Laserjet_3_2200:UNIDRV.DLL:XXXXX:UNIDRVUI.DLL:pscript.hlp:NULL:RAW:NULL" 2'

    Ein Beispielaufruf wäre (hier für einen HP2200dtn):
    rpcclient -H localhost -U root -c 'adddriver "Windows NT x86" "HP_Laserjet_3_2200:UNIDRV.DLL:hpb22007.ppd:UNIDRVUI.DLL:pscript.hlp:NULL:RAW:NULL" 2'

    =Windows Treiber hochladen=
    Nun öffnet man von einem XP Clienten mit der Windowsfreigabe den Ordner "Drucker und Faxgeräte" auf dem Linuxserver.
    Als nächstes klickt man auf den entsprechenden Drucker mit der rechten Maustaste und wählt Eigenschaften.
    Wichtig ist, dass man im erscheinenden Fenster "Nein" auswählt.
    Als nächstes klickt man auf die Schaltfläche "Erweitert" und klickt den Button "Neuer Treiber..." an.
    Im Dialog wählt man den passenden Windows XP Treiber entweder von einem separaten Datenträger, oder von den vorgegeben aus.
    Beendet man den Dialog mit "Fertig stellen" sieht man eine kleine Grafik, die anzeigt, dass der Treiber auf die "print$" Freigabe auf den Linux Server hochgeladen wird.
    Abschließend klickt man den Button "Übernehmen" an und beendet das Dialogfeld.

    Nun können alle Clienten, die Zugriff auf die Sambafreigaben haben, die Drucker installieren, ohne manuell einen Treiber auswählen zu müssen.

    =Weitere Drucker hinzufügen=
    Möchte man nun noch weiter Drucker hinzufügen, muss man zunächst dafür sorgen, dass sie im CUPS Interface aufgenommen werden. Danach wiederholt man den vorherigen Schritt für den entsprechenden Drucker. Demnach sind alle anderen Schritte auf dem Server lediglich einmalig durchzuführen.
     
  4. nexx

    nexx Jungspund

    Dabei seit:
    16.04.2008
    Beiträge:
    12
    Zustimmungen:
    0
    Probleme

    Hilfe, ich brauch Hilfe :-)
    Ich mach das auch gerade und ich bekomme diese Fehlermeldung, nachdem ich fen Befehl rpcclient -H localhost -U root -c 'adddriver "Windows NT x86" "HP_Laserjet_3_2200UNIDRV.DLL:XXXXX:UNIDRVUI.DLL: pscript.hlp:NULL:RAW:NULL" 2'

    eingebe. Was mach ich Falsch?

    -> failed session setup with NT_STATUS_LOGON_FAILURE
    Cannot connect to server. Error was NT_STATUS_LOGON_FAILURE
     
  5. #4 hoernchen, 17.04.2008
    hoernchen

    hoernchen UBERgarstiges nagetier

    Dabei seit:
    17.02.2005
    Beiträge:
    1.081
    Zustimmungen:
    0
  6. nexx

    nexx Jungspund

    Dabei seit:
    16.04.2008
    Beiträge:
    12
    Zustimmungen:
    0
    tja, das hab ich auch schon gemacht, leider haben mir die vorschläge alle nichts gebracht.
    ich hab es jetzt zu einer anderen fehlermeldung gebracht result was WERR_BADFILE allerdings glaub ich das, das noch nicht mal men Hauptproblem ist.

    Ich bekomme bei cups wenn ich einen drucker modifizieren will auch die fehlermeldung: client-error-not-possible.
    Unter windows kann ich auf meinem server auf die drucker zugreifen, diese aber nicht konfigurieren. wenn ich drucker -> eigenschaften -> neuen Treibermache, und den Treiber auswähle kopiert er diese auf \\server\print$\W32X86 was ja ok ist :) aber dann löscht er die daten sofort wieder und wenn ich dann auf übernehmen gehe Kommt die Meldung: Die Druckereinstellungen konnten nicht gespeichert werden. Zugriff verweigert.

    Danach ist mir in den sinn gekommen mal due cupsd.conf zu editieren... allerdings brachte das auch keine Lösung...
    Ich hatte für </Location/printers> alles freigegeben, und trotzdem darf niemand den drucker modifizieren.
    Das hängt dann sicher wieder mit der Fehlermeldung von oben zusammen mit den client-error...
    Ach man was soll ich jetzt nur machen...
    Das ist auch noch meine Scheiss Projektarbeit zur Abschlussprüfung wäre echt froh wenn mir einer helfen kann ;)
    hab nur noch 3 Tage...
     
  7. nexx

    nexx Jungspund

    Dabei seit:
    16.04.2008
    Beiträge:
    12
    Zustimmungen:
    0
    also ich habs geschafft immerhin als root zu drucken ;)
    somit war ich am ende doch noch siegreich.
    Ich habe jetzt aber wieder ein neues Problem, und zwar kann ich als samba user nicht drucken.. Die cups error_log spuckt aus das ich nicht authorisiert bin. wo stellt man den das ein bitte?
    In der cupsd.conf schon mal nicht.
    Und in der Printers.conf funktioniertes auch nicht...
    wenn das mal läuft werd ich luftsprünge machen...
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Samba Server - Treiber fuer Windows Clienten bereitstellen

Die Seite wird geladen...

Samba Server - Treiber fuer Windows Clienten bereitstellen - Ähnliche Themen

  1. Autehtifizierung gegen Password Server nach Update SAMBA 3.6.6

    Autehtifizierung gegen Password Server nach Update SAMBA 3.6.6: Hi... ich bekomme einfach den "Dreh" nicht an meine Recherche/Suche nach einer Lösung: Ein Samba 3.5.6 (läßt sich leider z.Z. nicht updaten) läuft...
  2. Anmeldung auf Samba4 Server

    Anmeldung auf Samba4 Server: Ein debian 8 server mit samba4 als pdc und file server installiert. Alle Konfigurationen sind gut gelaufen und samba4 hat bis jetzt einwandfrei...
  3. Sambaserver im Netzwerk nicht sichtbar

    Sambaserver im Netzwerk nicht sichtbar: Hallo liebe Forengemeinde, mein Name ist Oliver, bin 47 Jahre "jung" ;) und habe vor vielen Jahren eine Zeit lang mit Suse, Debian, Fedora &...
  4. PDF Dokumente vom Samba 4 server aus könen nicht geöffnet werden.

    PDF Dokumente vom Samba 4 server aus könen nicht geöffnet werden.: Ich habe 3 Rechner. Der erste ist wo samba 4 als AD Dc installiert und gleichzeitig Datenfreigabe im smb.conf konfiguriert ist. Die anderen 2...
  5. Printserver auf Samba Server installieren

    Printserver auf Samba Server installieren: Hallo zusammen, ich möchte auf einen Samba-Server einen Printserver installieren. Auf diesem sollen die Treiber hinterlegt sein und der...