PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme bei der Druckerfreigabe mit Samba



wladimir-blumen
16.03.07, 18:43
Hallo zusammen,

ich würde gerne meinen Drucker unter Samba freigeben, sodass meine Mitbewohner mit ihren Windoof-Laptops meinen Drucker auf openSuse 10.2 mitbenutzen können. Die normale Dateifreigabe funktioniert wunderbar, aber der Drucker (Epson Stylus C84) lässt sich von den Windoof-Rechnern noch nicht ansprechen. Auf dem Linux-Rechner funktioniert er problemlos.
Der Drucker wird zwar in der Netzwerkumgebung in WinXP angezeigt, aber wenn ich ihn dann installiere und zu drucken versuche, meldet er, dass der Zugriff auf den Drucker verweigert wird.
Ich habe schon verschiedene Variationen der /etc/samba/smb.conf ausprobiert (siehe unten). Aber anscheinend, ist immer noch irgendetwas falsch eingestellt.
Was ich also brauche, ist eine Einstellung für die smb.conf, sodass der Drucker von anderen Windoof-Rechnern in der gleichen Arbeitsgruppe OHNE ANMELDUNG mit Passwort, Benutzernamen usw. benutzt werden kann. Jeder soll auf den Drucker zugreifen können.

Meine Fragen:
1. Was ist in der smb.conf falsch eingetragen bzw. fehlt?
2. Muss ich bei der Installation des Netzwerkdruckers unter WinXP die mitgelieferten Epson-Treiber für Windows oder andere Treiber (für Drucker auf Linux kompatible) installieren?
3. Muss ich noch irgendwelche Verzeichnisse mit chown auf spezielle Benutzerberechtigungen umstellen?
4. Gibt es einen Assistent zur Einrichtung der Druckerfreigabe für Samba, der auch wirklich funktioniert (SWAT, Yast2 und Kontrollzentrum klappt nicht...)?

Hier die verschiedenen Variationen der smb.conf.

smb.conf Nr. 1:

# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
# Date: 2007-02-08
[global]
workgroup = B.A.G
printcap name = cups
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain master = Yes
usershare max shares = 100
security = user
restrict anonymous = no
max protocol = NT
acl compatibility = winnt
ldap ssl = No
server signing = Auto
domain logons = Yes
local master = Yes
os level = 65
preferred master = Yes
netbios name = Hannes

[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775

[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
write list = root

[freibgaben]
guest ok = Yes
guest only = Yes
path = /samba/
read only = No


smb.conf Nr. 2

# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
# Date: 2007-02-08
[global]
workgroup = B.A.G
printcap name = cups
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain master = yes
usershare max shares = 100
restrict anonymous = no
max protocol = NT
acl compatibility = winnt
ldap ssl = No
server signing = Auto
domain logons = yes
os level = 65
preferred master = yes
server string = Samba-Server auf Hannes

[printers]
comment = All Printers
path = /var/tmp
printable = Yes
browseable = yes
print command = /usr/bin/lpr -P%p -r %s
printing = BSD
printcap name = /etc/printcap
guest ok = yes

[printer1]
guest ok = yes
printable = yes
print command = /usr/bin/lpr -P%p -r %s
printer = stylusc84
printing = BSD
path = /var/tmp

[Freigaben]
guest ok = Yes
guest only = Yes
path = /samba/
read only = Yes


Ich hoffe, ihr könnt mir weiterhelfen.

Vielen Dank und schöne Grüße,

Hannes

Blade
16.03.07, 20:45
Es reicht nicht aus den Drucker nur unter Samba freizugeben. Das gleiche musst Du auch unter cups einrichten. Prüfe mal die cups-Zugriffsfreigabe. Wer darf darauf zugreifen? Den Cups-Server kannst Du auch per Browser-Zugriff konfigurieren.

wladimir-blumen
16.03.07, 21:58
Danke für die schnelle Antwort.

Wie kann ich die Zugriffsfreigabe überprüfen?

Habe mich jetzt mal in die Cubs-Verwaltung in meinem Browser eingeloggt. Unter Drucker zeigt es mir folgendes an:

stylusc84 (Standarddrucker)
Beschreibung: EPSON Stylus C84
Ort: USB-Drucker auf //EPSON/Stylus%20C84
Marke und Modell: Epson Stylus C84 - CUPS+Gutenprint v5.0.0 Simplified
Druckerstatus: frei, Aufträge akzeptieren, publiziert.
Geräte URI: usb://EPSON/Stylus%20C84

Muss ich unter dem Stichpunkt "Erlaubte Benutzer" noch etwas eintragen?

Blade
16.03.07, 22:10
Genau, klick den mal an und trage da mal die bei Linux angemeldeten Win-User ein. Standardmäßigt sollte eigentlich das lokale Intranet/LAN freigeschaltet sein. Manchmal gibt es aber da schon ein paar BUGS.

MiGo
17.03.07, 13:13
Und du musst den ganzen Kram afaik nichtmal per Samba machen - cups kann IPP; das gibt's für Windows ab Win2k und macht seine Arbeit hervorragend.

Blade
17.03.07, 13:31
Stimmt MiGo, aber es gibt von M$ sogar einen Patch, den kann man von der M$-Webseite runterladen, mit dem man auch Win98 dazu überreden kann auf einem IPP-Drucker zuzugreifen. :D

wladimir-blumen
17.03.07, 17:15
@Blade: Ich habe jetzt die Namen der Windows-Rechner eingetragen bei "Erlaubte Benutzer" eingetragen. Leider bekomme ich immer noch die Fehlermeldung: "Zugriff verweigert"

@MiGo: Ein Versuch wäre es ja mal wert. Wie kann ich denn meinen Drucker auf ipp umstellen?

Blade
17.03.07, 17:32
Poste mal den <Location /> - Abschnitt aus Deiner cupsd.conf Konfigurationsdatei. Hast Du die Druckerfreigabe mit YAST2 eingerichtet?

wladimir-blumen
17.03.07, 17:39
Jupp. Habe den Drucker über Yast eingerichtet. (Wenn ich ihn über CUPS einrichte, läuft die Installation zwar ohne Probleme, aber der Drucker druckt nicht.)

Hier der Abschnitt in cupsd.conf:



<Location />
# Restrict access to the server...
Order allow,deny
Allow From localhost
</Location>

Blade
17.03.07, 17:47
Trag mal da ein:
<Location />
# Restrict access to the server...
Order allow,deny
Allow @LOCAL
Allow @deineeigenelandomain
</Location>
Den Eintrag Allow @deineeigenelandomain kannst Du auch testweise mal weg lassen. Starte nach dem Eintrag den cups-Server neu.

wladimir-blumen
17.03.07, 17:59
Ich habe beide Möglichkeiten ausprobiert - leider ohne Erfolg.

Blade
17.03.07, 18:36
Dann poste mal die komplette cupsd.conf .

FRAGE:
1. Sind die Clients, die drucken möchte als Linux- UND Samba-User mit Kennwörtern korrekt angelegt.
2. Trag mal in die smb.conf im global - Abschnitt noch ein: printig = cups
3. Tag mal den Drucker in der smb.conf ein mit Freigabe der Lese- und Write-User. Dann setz die Rechte der create mask auf 0700

Nochmals die Frage, hast Du den Drucker mit YAST2 angelegt und dann im Samba-Server freigegeben, oder hast Du die Konfig-Dateien manuell angelegt?

Können die Clients problemlos auf das Samba-Share-Verzeichnis zugreifen?

Blade
17.03.07, 18:41
Das kann ja nicht klappen:


[printers]
comment = All Printers
path = /var/tmp
printable = Yes
browseable = yes
print command = /usr/bin/lpr -P%p -r %s
printing = BSD
printcap name = /etc/printcap
guest ok = yes

[printer1]
guest ok = yes
printable = yes
print command = /usr/bin/lpr -P%p -r %s
printer = stylusc84
printing = BSD
path = /var/tmp


Du nutzt doch printing = cups

wladimir-blumen
17.03.07, 21:04
1. Ich habe keine Benutzer für den Zugriff auf Samba angelegt. Es soll ja JEDER OHNE anmelden mittels Kennwort und Benutzername auf die Samba-Freigaben sowohl Ordner als auch den Drucker zugreifen können. Alle Benutzer in meiner Netzwerkumgebung können problemslos und ohne Anmeldung auf die freigegebenen Verzeichnisse zugreifen.

2. Habe ich gemacht.

3. Hier jetzt mal meine smb.conf und die cupsd.conf. Ich hoffe, dass ich die Sachen jetzt so richtig angepasst habe. Ich habe den Drucker per Hand in die smb.conf eingetragen und nicht mit yast2. Es kann gut sein, dass dort noch Fehler drinnen sind. Ich kenne mich mit den Samba-Befehlen und cups nicht wirklich gut aus.

smd.conf

# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
# Date: 2007-02-08
[global]
workgroup = B.A.G
printcap name = cups
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = Yes
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain master = yes
restrict anonymous = no
max protocol = NT
acl compatibility = winnt
ldap ssl = No
server signing = Auto
domain logons = yes
os level = 65
preferred master = yes
server string = Samba-Server auf Hannes
printig = cups

[printers]
comment = All Printers
path = /var/tmp
printable = yes
browseable = yes
print command = /usr/bin/lpr -P%p -r %s
printing = BSD
guest ok = yes

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
# write list = @ntadmin root
# force group = ntadmin
create mask = 0700
directory mask = 0700
guest ok = yes
bowseable = yes

[testdrucker]
path = /var/tmp
printable = yes
browseable = yes
guest ok = yes
create mask = 0700
directory mask = 0700

[Freigaben]
guest ok = Yes
guest only = Yes
path = /samba/
read only = Yes


cupsd.conf

# Show general information in error_log.
LogLevel info
SystemGroup sys root
# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL
DefaultAuthType Basic
<Location />
# Restrict access to the server...
Allow @LOCAL
Allow @B.A.G
Order allow,deny
Allow From localhost
</Location>
<Location /admin>
Encryption Required
# Restrict access to the admin pages...
Order allow,deny
Allow From localhost
</Location>
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
# Restrict access to the configuration files...
Order allow,deny
Allow From localhost
</Location>
<Policy default>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
AuthType Basic
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel a job...
<Limit Cancel-Job>
Order deny,allow
Require user @OWNER @SYSTEM
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
<Location /printers>
Allow From 192.168.1.*
Order Allow,Deny
Allow From 192.168.1.33
Allow From 192.168.1.34
Allow From 192.168.1.35
Allow From @B.A.G
Allow From @LOCAL
Allow From Herrwolfmueller
</Location>


Ich werde jetzt aber nochmals folgendes ausprobieren. Ich werde die smb.conf und die cupsd.conf löschen und mittels YAST2 neu erstellen lassen. Vielleicht funktionierts ja.

Blade
17.03.07, 21:24
Sorry, aber das war ein Tipp-Teufel:

printig = cups

sollte lauten

printing = cups

Blade
17.03.07, 21:27
[printers]
comment = All Printers
path = /var/tmp
printable = yes
browseable = yes
print command = /usr/bin/lpr -P%p -r %s
printing = BSD
guest ok = yes

... der Printing-Befehl/print-Command ist Käse, kann so nicht klappen.

wladimir-blumen
18.03.07, 17:18
Ich habe jetzt mal die smb.conf geändert. Und die Benutzerrechte der path Verzeichnisse für den Drucker mit chown nobody geändert. Jetzt kann ich auch übers Netzwerk drucken! :)


[printers]
comment = All Printers
path = /var/tmp
printable = yes
browseable = yes
printing = cups
guest ok = yes
guest only = yes

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
guest only = yes
guest ok = yes
browseable = yes

printing = cups scheint der entscheidende Eintrag gewesen sein, der gefehlt hat.

Vielen Dank für deine Hilfe!!!

Blade
18.03.07, 17:26
Prima, freut mich. Noch ein Hinweis, trag den Befehl
printing = cups
im Abschnitt global ein, dann gilt er für alle Drucker.

Im Druckerabschnitt kannst Du das für den einen
oder anderen Spezial-Drucker dann mit einem
weiteren Eintrag wieder überschreiben.