PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba und WinXP Problem



Annette
30.12.03, 10:45
Hi!

In meinem kleinen Netzwerk befindet sich ein Linux-Router (Suse Linux 7.3 Kernel 2.4) und ein WinXP-Client. Auf dem Linux-Rechner ist Samba ver. 2.2.1 installiert. Der XP-Client löst einen alten WinNT-Client ab, bei dem Samba ohne Probleme funktioniert (sowohl Datei- als auch Druckfreigabe). Hänge ich jedoch den XP-Rechner dran, funktioniert leider nichts mehr. Im Einzelnen:

Auf dem Linux-Rechner taucht bei LinNeighborhood der Win-Client nicht auf und auf dem XP-Rechner resultiert in der Netzwerkumgebung der Aufruf "Arbeitsgruppencomputer anzeigen" in der Fehlermeldung: Auf Arbeitsgruppe kann nicht zugegriffen werden... Die Liste der Server in dieser Arbeitsgruppe ist zurzeit nicht verfügbar.

Für den WinXP-Rechner habe ich die Einstellungen des alten WinNT-Rechners wie folgt übernommen.

Linux-Rechner:

Name: router (router.intranet.loc)
Ip: 192.168.3.1


WinXp-Rechner:

Computer-Name: nick.
Arbeitsgruppe: ARBEITSGRUPPE

TCP/IP Eigenschaften:

Ip-Adresse:192.168.3.2
Subnetzmaske: 255.255.255.0
Standard-Gateway: 192.168.3.1

Bevorzugter DNS-Server: 192.168.3.1

automatische Metric

DNS:

DNS-Serveradressen in der Verwendungsreihenfolge: 192.168.3.1

Primäre und verbindungsspezifische DNS-Suffixe anhängen
Übergeordnete Suffixe des primären DNS-Suffixe anhängen

DNS-Suffix für diese Verbindung: intranet.loc
Adressen dieser Verbindung in DNS registrieren
DNS-Suffix dieser Verbindung in DNS-Registrierung verwenden


WINS:

LMHOSTS-Abfrage aktivieren
Netbios über TCP/IP aktivieren

Was habe ich vergessen oder falsch gemacht? Bitte um Hilfe.

Gruß,
Annette

Destroyer69
30.12.03, 11:27
Wie schaut denn die smb.conf auf ???.....

Annette
30.12.03, 12:07
Auf dem WinXP-Rechner bin ich zur Zeit als Annette mit Administratorenrechten eingeloggt. Auf dem Linux-Rechner befindet sich ein Konto gleichen Namens.

smb.conf:

[global]
workgroup = ARBEITSGRUPPE
netbios name = ROUTER
server string = Samba File & Print Server [%v]
keep alive = 30
security = user
admin users = root
username level = 1
password level = 4
username map = /etc/samba/smbusers
encrypt passwords = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Re-enter*new*password* \
%n\n *Password*changed*
unix password sync = yes
hosts allow = 192.168.
time server = yes
;printing = LPRNG
printing = cups
;printcap name = /etc/printcap
;printcap name = /etc/cups/printers.conf
load printers = Yes
#
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
interfaces = 192.168.3.1/255.255.255.0
wins support = No
#
character set = ISO8859-15
client code page = 850

[homes]
comment = Linux-Home-Verzeichnisbereich
path = %H
writable =yes
valid users = %S
create mask = 0600
directory mask = 0700
locking = no
browsable = no

[cdrom]
comment = Samba-CD-ROM
read only = yes
path = /media/cdrom
locking = No
root preexec = /bin/mount /dev/hdb /media/cdrom
root postexec = /bin/umount /media/cdrom

[printers]
comment = Liste aller verfuegbaren Samba-Drucker
path = /var/spool/samba
printable = yes
;writable = no
;browsable = No

[public]
comment = Samba-Verzeichnis aller User
path = /home/samba/public
writable = yes
create mask = 0750
directory mask = 0750
force group = users

[admin]
comment = Samba-Verzeichnis fuer die Gruppe admin
path = /home/samba/admin
writable = yes
valid users = @admin
locking = yes
create mode = 0750
directory mode = 0750
force group = @admin


Gruß,
Annette

mdkuser
30.12.03, 14:37
Hallo Annette,

weiss nicht ob das was bringt, aber setze mal in der smb.conf den Eintrag unter global von security = user auf security = share, ausserdem unter homes den Eintrag browsable = no auf yes.
Damit funzt es bei mir problemlos...
Ansonsten weiss ich auch nicht. Ist mir nur so eingefallen, weil ich mit samba auch Probleme hatte und auf diese Weise lösen konnte.
Ansonsten checken, ob die Einträge in der smbusers von den XP-usern auf die korrekten Unix-user mappen. Evtl. die IP und den Hostname der XP-Kiste in /etc/hosts eintragen und Firewalleinstellungen kontrollieren. Mehr fällt mir im Moment auch nicht dazu ein. Viel Glück!

Annette
30.12.03, 22:09
Hallo mdkuser!

Die Samba-Einstellungen stimmen. NT-Client lief ja. Ich habe noch ein bißchen weiter an den XP-Einstellungen rumgespielt. Und siehe da... :) :) :)

Gruß,
Annette

Annette
31.12.03, 14:54
Hi!

Ich habe mich leider etwas zu früh gefreut :( :( :(

Die Dateifreigabe funktioniert jetzt ohne Probleme. Auch der Netzwerkdrucker am Linux-Rechner wird erkannt und sein Status wird als bereit angezeigt. Alle Druckaufträge gehen jedoch ohne Fehlermeldung in Leere, d.h. sie werden weder in der Warteschlange angezeigt, noch rührt sich der Drucker :(

Eine Sache macht mich etwas stutzig. In der Registerkarte "Erweitert" in den Eigenschaften des Druckers kann nichts angewählt werden. Bedeutet dies, daß der Drucker zwar grundsätzlich bereit, jedoch nicht verfügbar ist und wie kann ich das ggf. ändern?

Gruß,
Annette

Myst
31.12.03, 15:44
Schau mal, ob Du unter /var/spool/cups (ich nehme an, Du verwendest CUPS) auch Schreibrechte für alle User sind, oder ob eine bestimmte Eigentümer-Gruppe verwendet wird (z.B. Gruppe cups/print, was auch immer). Dann musst Du die User, die Drucken dürfen, auch dieser Gruppe hinzufügen:

linux# > usermod -G users,cups,[hier_noch_ne_menge_anderer_gruppen] [Username]

Damit die User dann auch Schreib-Rechte auf den Ordner haben.

Gruß
Myst

Destroyer69
31.12.03, 18:49
evtl. hilft noch dieses:

Falls "CUPS" auf eurem Linux-Server als Drucksystem installiert ist, so müssen noch die Dateien in:
/etc/cups/mime.convs
und
/etc/cups/mime.types
editiert werden.
Und zwar müssen die Kommentarzeichen vor den Einträgen mit dem octet-Stream entfernt werden.
Weiterhin muss später auf den Windowsclients der passende Druckertreiber installiert werden.

und nen guten Rutsch :)

Annette
01.01.04, 14:44
Hi Myst, hi Destroyer!

erstmal danke für eure Antworten. Leider habe ich noch ein Verständnisproblem, das ich auch mit einer Recheche in WWW nicht klären konnte.

Auf meinem Linux-Server gibt es drei Accounts: root, Annette, Testuser.
In der Benutzerverwaltung kann man sehen, daß root der Gruppe root angehört, Annette und Testuser den Gruppen uucp, dialout, users, audio und video.
Da in der Gruppe users auch noch adabas, wnn, pop und db4web enthalten sind habe ich mich entschlossen eine Gruppe mit Namen members mit den Mitgliedern Annette und Testuser anzulegen.

Wie ihr richtig erkannt habt benutze ich cups zum drucken.
In /var/spool/cups/ gibt es nur Schreibrechte für root, keine für Gruppen und Sonstige.

Nun zu meiner Verständnisfrage:
In der Benutzerverwaltung gibt es keine Gruppe mit Namen cups.
Soll ich nun trotzdem "useradd -G members, cups annette" eingeben, damit ich von WinXP aus auf dem Netzwerkdrucker drucken kann?

Gruß,
Annette

Destroyer69
01.01.04, 15:35
Hast Du denn schon die Vorschläge ausprobiert ??? ... /etc/cups/mime.convs
und /etc/cups/mime.types editiert ??

Deine smb.conf Sektion
[printers]
comment = Liste aller verfuegbaren Samba-Drucker
path = /var/spool/samba
printable = yes
;writable = no
;browsable = No

sollte vielleicht auch so ausschauen:
[printers]
comment = Liste der verfuegbaren Samba-Drucker
path = /var/spool/samba
create mask = 0700
browseable = no
public = yes
printable = yes
#oder
;print ok = yes

Annette
01.01.04, 16:05
Die Vorschläge habe ich zum Teil ausprobiert. /etc/cups/mime.convs und /etc/cups/mime.types habe ich editiert, aber nichts Auffälliges gefunden. Die von dir vorgeschlagen Änderungen an smb.conf haben leider nichts gebracht. Habe die Änderungen durchgeführt und danach Samba neu gestartet. Der Druckauftrag danach ging leider auch ins Leere.

Vergiß bitte nicht, daß das Drucken grundsätzlich funktioniert. Hänge ich meinen WinNT-Client ran, bei dem ich mich als Administrator angemeldet habe, funktioniert das Drucken ohne Probleme.

Den Vorschlag von Myst habe ich noch nicht durchgeführt, weil ich das oben beschriebene Verständnisproblem habe.

Gruß,
Annette

LKH
01.01.04, 16:20
Hi,

da Samba mit XP eh noch nicht richtig läuft würde ich vorschlagen Samba 3.0.x zu installieren. Das versteht sich hervorragend mit XP. Allerdings wirst du es selbst kompilieren müssen, da es für die alte SuSE wohl keine RPMs mehr gibt. Erfahrungsgemäß geht das aber problemlos.

Annette
01.01.04, 16:40
Daran habe ich auch schon gedacht. Zunächst will es aber erst mal mit Samaba 2.2.1 versuchen; außer dem Drucken läuft es ja ohne Probleme.

Kann jemand mal was zu meinem oben beschriebenen Verständnisproblem sagen. Zuerst würde ich gern dem nachgehen, bevor ich neue Vorschläge ausprobiere.

Gruß,
Annette

Destroyer69
01.01.04, 16:41
Jo genau, des wäre auch der nächste Vorschlag gewesen......habe selbst auch 3.0 am laufen mit der alten 2.x Version gings vorher auch nich sooo dolle vor allem nach den ganzen Servicepacks von XP :) ...
ps. Fedora hat schon Samba 3.0 dabei :D

Myst
01.01.04, 16:51
Hi,

mach doch mal testweise ein chmod 0777 auf /var/spool/cups und probier mal zu drucken. Wenn es geht, hast Du Dein Problem schon so gut wie gelöst.

Also das mit Gruppen ist folgendermaßen. Cups ist ein Daemon, der mit einem bestimmten Account läuft. Normalerweise wird man auf einem Server den Cups nicht als root laufen lassen, da ein Buffer-Overflow ausgenutzt werden könnte, Code mit den Berechtigungen des entsprechenden Benutzers auszuführen, in dem Falle root. Das ist natürlich nicht sonderlich sicher.

Nun ist es auch so, das jeder Benutzer einer Gruppe angehört, im oben genannten Fall der Gruppe root. Wenn jetzt auf ein Dateisystem-Objekt die Eigentümer root:root sind, das kann man mit 'ls' rausfinden, und die Rechte auf rw-r--r-- gesetzt sind, darf nur der Besitzer NICHT aber die Gruppe schreiben. Wenn die Gruppe aber Schreiben darf, also die Rechte rw-rw-r-- ist, dann dürfen auch alle Benutzer dieses Objekt, sprich seinen Inhalt verändern, die der Gruppe angehören, der der Besitz des Objektes zugeteilt ist. Boahhh, war das jetzt ein Satz.

Kurz gesagt, Du musst entweder Besitzer des Ordners sein oder der Gruppe angehören, die Eigentümer des Ordners ist.

Gruß
Myst

LKH
01.01.04, 17:02
Hi,

Wie Myst schon sagte ist Cups ein Daemon; er nimmt die Daten zum Drucken entgegen und schiebt sie an den Drucker weiter. Über die Konfiguration kann man einstellen, wer drucken darf. Rechte an den Verzeichnissen von Cups brauchen diese Benutzer allerdings nicht. Kann denn jeder Linuxuser drucken?

Imho spoolt Samba die Druckdaten erst selbst bevor es sie an Cups weitergibt. Es macht daher ggf. mehr Sinn die Rechte an /var/spool/samba zu erweitern anstatt von /var/spool/cups. Dazu müsste es eigentlich genügen noch folgendes in die [printers]-Sektion einzubauen:

create mask = 0666
directory mask = 4750

Hoffe es hilft,

Annette
01.01.04, 17:39
Hi Myst, hi LKH!

@Myst

Habe es gerade ausprobiert. Leider ohne Erfolg.

Das mit den Lese- und Schreibrechten war/ist mir prinzipiell klar. Jetzt weiß ich auch, daß cups ein Daemon ist. Danke. Was mir jedoch immer noch unklar ist, ist wie der adduser-Befehl in meinem Fall heißen muß und was das bringen soll oder hat sich das mittlerweile erledigt?


@LKH

Jeder Linux-User kann auf dem Drucker ausdrucken (habe es gerade nochmal getestet). Die Änderungen habe ich durchgeführt und fast verstanden. Wieso eigentlich
directory mask = 4750
und nicht
directory mask = 0750
oder besser noch
directory mask = 0755?


Gruß,
Annette

Myst
01.01.04, 22:53
Original geschrieben von Annette
Hi Myst, hi LKH!

Was mir jedoch immer noch unklar ist, ist wie der adduser-Befehl in meinem Fall heißen muß und was das bringen soll oder hat sich das mittlerweile erledigt?



Naja, wenn es mit vollem Zugriff nicht funktioniert, hat es damit wohl nichts zu tun. Es war nur ein Gedanke von mir, weil ich ein ähnliches Problem hatte und es daran lag.




Jeder Linux-User kann auf dem Drucker ausdrucken (habe es gerade nochmal getestet). Die Änderungen habe ich durchgeführt und fast verstanden. Wieso eigentlich
directory mask = 4750
und nicht
directory mask = 0750
oder besser noch
directory mask = 0755?


Er setzt ein Sticky Bit. Damit kann dann jeder Benutzer nur Dateien ausführen, die er auch selbst erstellt hat. Prinzipiell ist sein Vorschlag gar nicht mal so verkehrt.

Gruß
Myst

LKH
02.01.04, 14:52
Hi,

wenn du mehr zu den Rechten und den "Spezialbits" lesen möchtest hier mal ein Link: http://www.sbsbavaria.de/intern/debian/aa000.html
Da wird beim Weiterblättern auch auf noch explizit auf Samba eingegangen.

Nun aber die alles entscheidende Frage: können die Windows-User denn nun drucken?

Annette
02.01.04, 15:31
Danke für eure Aufklärung. Habe mir die Sache mit den Sticky-Bits näher angeschaut. Leider hatten die Änderungen im smb.conf keinen Erfolg. Weiterhin kann von WinXP nicht auf dem Netzwerkdrucker ausgedruckt werden.

Gruß,
Annette

ml0206
23.01.04, 12:58
Hallo Annette,

hast du das Problem schon gelöst? Ich hab' ein ähnliches Problem, nur dass im Cups-Log etwas auftaucht, mit dem ich nicht wirklich was anfangen kann...

Drucke ich mit Linux kommt "[bla] /printer/HP6L [bla]" , drucke ich mit win, passiert folgendes: "[bla] / [bla]"...
Ok, er weiß nicht wo und wie er drucken soll, aber liegt das an win oder an samba? K.a.

Würde mich interessieren, wie es um deinen Drucker steht...