C
cpg-nighty
Grünschnabel
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:
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:
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
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 command: smbclient //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'
WARNING: The "printer admin" option is deprecated
Domain=[PRINTERBASE1] OS=[Unix] Server=[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 command: smbclient //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'
WARNING: The "printer admin" option is deprecated
Domain=[PRINTERBASE1] OS=[Unix] Server=[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 command: rpcclient localhost -N -A /var/spool/cups/tmp/47d92c9e17f55 -c '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"'
WARNING: The "printer admin" option is deprecated
Printer Driver HP_Laserjet_3_2200 successfully installed.
Running command: rpcclient localhost -N -A /var/spool/cups/tmp/47d92c9e17f55 -c 'setdriver HP_Laserjet_3_2200 HP_Laserjet_3_2200'
WARNING: The "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
WARNING: The "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
Zuletzt bearbeitet: