• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Leap 15.2 seltsames Verhalten von Samba

StevieD

Member
Hi,
kurz vor dem Ausfall hier stellte ich die Frage nach einem Problem beim Booten.
Hatte sich erledigt, Neuinstallation geht doch oft schneller.
Das Meiste läuft wie gewohnt, aber z.B Samba spinnt rum.
Swat ist nicht da, der Dienst wird nicht installiert und auch die passende Datei (/usr/bin/swat?) existiert nicht.
Ich hab sämtliche Samba-Dateien durchgesehen, in der Dateiliste in Yast kommt so was auch nirgends vor.
Noch interessanter:
Nachdem ich die Freigaben eingerichtet habe (Yast) nochmal mit Webmin drübergesehen, alles sieht gut aus, nichts funktioniert.
Im Dolphin werden mir im Netzwerk-smb keinerlei Freigaben angezeigt, weder als User noch als root.
Die samba.cfg sieht in beiden Programmen gleich aus. Mit Editor geöffnet, gleiche Ansicht.

Teste ich das Ganze allerdings mit testparm, steht da quasi die Urdatei ohne irgendwelche Freigaben.

kdeconnect rennt zwar, aber Smartphone und Rechner sehen sich nicht. Das ist aber das geringste Problem.

Und Amarok kann keine Texte mehr finden, obwohl die Plugins installiert sind, nicht schlimm, aber schade.

Hab ich bei Samba was übersehen?

Gruss
 

susejunky

Moderator
Teammitglied
Hallo StevieD,
StevieD schrieb:
... Swat ist nicht da, der Dienst wird nicht installiert und auch die passende Datei (/usr/bin/swat?) existiert nicht.
Soweit mir bekannt, wird SWAT aus Sicherheitsgründen nicht mehr unterstützt.

Ich selbst konfiguriere SAMBA nur durch editieren der Datei /etc/samba/smb.conf.

https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha-samba.html und
Code:
> man smb.conf
helfen dabei.


StevieD schrieb:
... Die samba.cfg sieht in beiden Programmen gleich aus.
Wo genau im Dateisystem ist diese Datei abgelegt und welche Rolle soll sie bei der Konfiguration von SAMBA spielen?


StevieD schrieb:
... kdeconnect rennt zwar, aber Smartphone und Rechner sehen sich nicht.
Das und die von Dir geschilderten SAMBA-Probleme könnten ein Zeichen dafür sein, dass die erforderlichen Dienste in firewalld nicht freigeschaltet sind.

Viele Grüße

susejunky
 
OP
StevieD

StevieD

Member
Hi,

natürlich smb.conf, sorry. Samba klingt melodischer. Und in dieser Datei steht halt was anderes als das, was testparm auswirft.

In der Diensteverwaltung ist smbd und nmbd aktiv, die Firewall hab ich in Yast abgestellt. Die Oberfläche zu nutzen, finde ich auch wenig verwerflich

Gruss
 

susejunky

Moderator
Teammitglied
Hallo StevieD,
StevieD schrieb:
... Die Oberfläche zu nutzen, finde ich auch wenig verwerflich
es hat auch niemand behauptet, dass das verwerflich sei.

Ich bevorzuge das direkte Bearbeiten von Konfigurationsdateien nur aus einem Grund:

Wenn etwas nicht funktioniert, muss ich nicht auch noch herausfinden, ob der Fehler bei mir oder dem verwendeten Konfigurationsprogramm liegt.

Wenn ich Deinen ersten Beitrag richtig verstehe, dann hast Du einen SAMBA-Server Server konfiguriert, siehst aber lokal in dolphin die Freigabe nicht.

Kannst Du in dolphin mit "smb://RECHNER-IP/FREIGABENAME" auf die Freigabe zugreifen?

Falls nein, zeige bitte das Ergebnis von (als Benutzer in einer Konsole ausführen)
Code:
> systemctl status smb
und
Code:
> cat /etc/samba/smb.conf
(immer inkl. der Befehlseingabe und der nächsten Befehlsaufforderung).

Viele Grüße

susejunky
 

stka

Guru
SWAT ist sowas von Samba3 und so tot, der richt schon nicht mal mehr :D ;) . Spaß bei Seite. Du bekommst heute nur noch Samba4 und da ist der SWAT komplett verschwunden (zum Glück) hat in den meisten Fällen nur Ärger gemacht. Du kannst auch nicht einfach eine alte Samba3 smb.conf in eine neu Konfiguration von Samba4 übernehmen. Sehr viele Parameter gibt es nicht mehr oder haben ihren Default geändert. Wenn du mit "testparm" andere Infos bekommst als in der smb.conf stehen, gehe ich davon aus das du eine ur-alt smb.conf genommen hast. Wenn du deine smb.conf mal hier postest schaue ich mir das mal an. Wenn du GUI willst, dann stell auf die Registry um und mach es von Windows aus mit regedit :D geht gut. Oder halt webmin ist aber, wenn du nur Samba brauchst mit Kanonen auf Spatzen schießen. Auch das kann ich dir kurz erklären wenn du magst
 
OP
StevieD

StevieD

Member
Moin,

einer nach dem anderen

Code:
  stefan@AMD-AZ:~> systemctl status smb
● smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-12-01 13:22:02 CET; 58min ago
 Main PID: 1743 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4
   CGroup: /system.slice/smb.service
           ├─1743 /usr/sbin/smbd --foreground --no-process-group
           ├─1916 /usr/sbin/smbd --foreground --no-process-group
           ├─1917 /usr/sbin/smbd --foreground --no-process-group
           └─1929 /usr/sbin/smbd --foreground --no-process-group


Code:
   stefan@AMD-AZ:~> cat /etc/samba/smb.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.
[global]
        passdb backend = tdbsam
        os level = 20
        usershare max shares = 100
        usershare allow guests = No
        printcap cache time = 750
        workgroup = TUX-NET
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        map to guest = Bad User
        printcap name = cups
        printing = cups
        cups options = raw
        logon drive = P:
        wins support = Yes

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = Yes
        read only = No
        inherit acls = Yes
[profiles]
        comment = Network Profiles Service
        path = %H
        read only = No
        store dos attributes = Yes
        create mask = 0600
        directory mask = 0700

[users]
        comment = All users
        path = /home
        read only = No
        inherit acls = Yes
        veto files = /aquota.user/groups/shares/
        browseable = Yes
[groups]
        comment = All groups
        path = /home/groups
        read only = No
        inherit acls = Yes
[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

[Alle]
        comment = Daten
        inherit acls = Yes
        path = /home/Alle
        read only = No
        browseable = Yes

Und jetzt die conf laut Testparm

Code:
    stefan@AMD-AZ:~> testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        logon drive = P:
        logon home = \\%L\%U\.9xprofile
        logon path = \\%L\profiles\.msprofile
        map to guest = Bad User
        printcap name = cups
        usershare max shares = 100
        wins support = Yes
        workgroup = TUX-NET
        idmap config * : backend = tdb
        cups options = raw


[homes]
        comment = Home Directories
        inherit acls = Yes
        read only = No
        valid users = %S %D%w%S


[profiles]
        comment = Network Profiles Service
        create mask = 0600
        directory mask = 0700
        path = %H
        read only = No


[users]
        comment = All users
        inherit acls = Yes
        path = /home
        read only = No
        veto files = /aquota.user/groups/shares/


[groups]
        comment = All groups
        inherit acls = Yes
        path = /home/groups
        read only = No


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


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


[Alle]
        comment = Daten
        inherit acls = Yes
        path = /home/Alle
        read only = No



Ich hätte eine alte conf genommen, wenn noch eine da wäre. Daten hab ich gesichert, das System leider nicht.
Swat hab ich benutzt, weil es da war. Ist schon lange her (leap 14x, und selbst da hatte ich den alten Kram übernommen)

@stka registry hab ich auf der Arbeit, das brauche ich zuhause nicht. Aber trotzdem nutze ich auch gui, warum nicht?


Gruss
 

susejunky

Moderator
Teammitglied
Hallo StevieD,

StevieD schrieb:
... Ich hätte eine alte conf genommen, wenn noch eine da wäre.
das ist keine gute Idee.

SAMBA ist der Versuch, das Microsoft Netzwerk nachzubilden und für die Linux-Welt zugänglich zu machen. Das Microsoft Netzwerk hat in den letzten Jahren einige Änderungen erfahren, die nach und nach auch ihren Niederschlag in SAMBA gefunden haben. Die Verwendung alter SAMBA Konfigurationsdateien kann daher zu ziemlich fraglichen Ergebnissen führen.

Der Unterschied zwischen dem, was testparm ausgibt und dem, was in der smb.conf steht, lässt sich relativ einfache erklären: testparm nimmt die Datei /etc/samba/smb.conf, überprüft sie auf formale Fehler und gibt sie dann in "bereinigter Form" wieder aus; d.h

  • alle Kommentare werden entfernt
  • die Parameter werden in alphabetischer Reihenfolge aufgelistet
  • alle Parameter, die auf ihren Standard-Wert gesetzt sind, werden nicht mehr aufgelistet
  • ...

Man kann mit testparm eine smb.conf-Datei erzeugen, die ausschließlich erforderliche Definitionen enthält und von SAMBA fehlerfrei geladen wird (was aber keine Garantie darstellt, dass die Inhalte das vom Benutzer angestrebte Verhalten bewirken).

Was den Inhalt der smb.conf anbelangt, so liefert
Code:
> man smb.conf
exzellente Informationen zu den einzelnen Parametern.

Eine der oben erwähnten Änderungen am Microsoft Netzwerk besteht darin, dass SMB1 (bereits seit längerem) nicht mehr unterstützt wird. Das hat unter anderem zur Folge, dass das Darstellen der "network neighborhood"; d.h. die Auflistung aller im Netzwerk verfügbaren Ressourcen, nicht mehr so funktioniert wie das früher der Fall war.

Microsoft hat dafür das Web Service Discovery entwickelt, das aber zur Zeit in SAMBA (noch?) nicht vorhanden ist. Eine Alternative dafür findest Du hier: https://github.com/christgau/wsdd.

Viele Grüße

susejunky
 

stka

Guru
Hi Stefan,

Code:
[global]
        # passdb backend = tdbsam # Kann raus ist default
        # os level = 20 # Kann raus ist default
        usershare max shares = 100 # O_O hast du so viele Verbindungen
        # usershare allow guests = No # Kann raus ist default
        # printcap cache time= 750 # Gibt es nicht mehr
        workgroup = TUX-NET
        logon path = \\%L\profiles\.msprofile # Wenn du keine Domäne hast raus
        # logon home = \\%L\%U\.9xprofile # Wenn du kein Win95 mehr hast raus
        # map to guest = Bad User # default kann raus
        # printcap name = cups # default kann raus
        # printing = cups # default kann raus
        cups options = raw # Dann must du im CUPS aber Treiber ausgewählt haben
        # logon drive = P: # Raus da kein Domaincontroller
        # wins support = Yes # Raus da kein Domaincontroller

Was "testparm" zusätzlich zeigt sind bestimmte default Werte das ist ok so.

Zu deinen Freigaben:
Da das System kein Domaincontroller ist, kannst du die Freigabe [profiles] löschen ist nur für servergespeicherte Profile in der Domäne.
Wenn das System kein Printserver ist dann [print$] und [printers] raus. Macht nur sinn wenn Printserver [printer] und/oder Druckertreiber bereitgestellt werden sollen [print$]
browsable =yes <--default

Registry ist sehr gut, den gerade in großen Umgebungen spart das jede Menge Netzwerkverkehr. Die smb.conf sollte NIEMALS unnötige oder auskommentierte Zeilen oder gar ganze Romane an Kommentaren enthalten den:
Jeder Windows-Client der sich mit dem Server verbindet startet auf dem Server einen eigenen smbd der ständig die smb.conf überwacht. Machst du eine Änderung an der Datei wird jedesmal die GESAMTE smb.conf an alle Clients über das Netz geschickt. Ich hatte mal bei einem Kunden eine smb.conf mit ca. 400k bei ca. 1000 Clients. Bei jeder Änderung wurde dann man schnell 1000*400k über das Netz geschoben. Tolle Wurst.

Verwendest du die Registry, werden nur die Änderungen übertragen :) Das ist coooool.
Wenn du umstellen möchtest, dann folge den Schritten:
1. smb.conf umbenennen z.B smb.conf-datum
2. neue smb.conf mit folgendem Inhalt erstellen
[global]
config backend = registry
3. mit "net conf import < smb.conf-datum" die alte Konfiguration in die Registry einspielen
fertig

Wenn du was ändern willst:
1. net conf list > meine-config
2. Änderungen einpflegen
3. net conf import meine-config
fertig

Oder auf der Kommadozeile des Samba-Servers "samba-regedit" aufrufen. Mit "regedit" unter Windows geht nur in der Domäne.

Ich hoffe, das hilft dir weiter.

Viele Grüße

Stefan
 
Oben