SMB-Freigabe mit separatem Benutzer

  • Hallo zusammen,

    bin ein Neuling in Sachen Linux, aber nicht ganz unbescholten in Sachen Computer. Und trotzdem bekomme ich es nicht hin eine SMB-Freigabe mit einem eigenen Benutzerkonto einzurichten, damit ich von anderen Geräten (Windows-PC, Scanner, usw) darauf zugreifen und Dateien dort ablegen kann.
    Folgendes habe ich ergooglet (ich hoffe ich bekomme das noch einigermaße zusammen):

    1. Samba installiert

    Code
    sudo apt update 
    sudo apt install samba

    2.Zusätzlichen Samba-Benutzer anlegen

    Code
    sudo useradd -M -s /bin/false smbuser

    Der Parameter -M verhindert das Erstellen eines eigenen Home-Verzeichnisses, und -s /bin/false blockiert die lokale Anmeldung am PC aus Sicherheitsgründen)

    SMB-Kennwort für Benutzer smbuser angeben:

    Code
    sudo smbpasswd -a smbuser

    Benutzer für SMB aktiviert:

    Code
    sudo smbpasswd -e smbuser

    3.Freigabe in der smb.conf eintragen

    Code
    sudo nano /etc/samba/smb.conf

    Meine Freigabe am Ende hinzugefügt:

    Code
    [MeineFreigabe]
        path = /pfad/zum/ordner
        browseable = yes
        read only = no
        valid users = smbuser
        write list = smbuser
        create mask = 0770
        directory mask = 0770

    Datei gespeichert und Samba neu gestartet:

    Code
    sudo systemctl restart smbd

    4. Datei- und Verzeichnisrechte anpassen

    Besitzerrechte und Berechtigungen angepaßt:

    Code
    sudo chown -R smbuser:smbuser /pfad/zum/ordner
    sudo chmod -R 770 /pfad/zum/ordner


    Wenn ich jetzt im Dateimanager unter Netzwerk gehe, sehe ich dort meinen Rechner, da klick ich drauf und sehe meine Freigabe. Versuche ich dann diese zu öffnen, bekomme ich ein Anmeldefenster, so weit so gut, aber wenn ich dann die Anmeldedaten von meinem smbuser eingebe, komme ich nicht rein.

    Ich habe dann spaßeshalber einfach mal über die GUI die Freigabe einfach unter meiner Anmeldung zum Testen zusammengeklickt, und das funktioniert über die Netzwerkumgebung und auch von einem Windows-Rechner.

    Und ich habe jetzt leider vergessen einen Screenshot von der Fehlermeldung zu machen, Schande über mein Haupt, aber ich war mitten drin das hier zu verfassen und wollte mich dann nicht mehr ab- und wieder anmelden, sonst hätte ich das noch mal tippen müssen.:saint:. Ich kann es aber nachliefern, wenn's Not tut. Es ging aber so in die Richtung, dass der Benutzer keine Berechtigung hat darauf zuzugreifen. ... OK, ich werde es nachreichen, ist sonst blöd.

    Ich hoffe jemand kann mir weiterhelfen und vielen Dank schon mal für eure Bemühungen.

    Gruß

    Holger

    Viele Grüße
    Holger

  • Hallo,

    da fehlt in der smb.con noch der [global] - Abschnitt?

    Sollte in etwa so aussehen:

    Code
    [global]
    workgroup = WORKGROUP
    security = user
    map to guest = Bad Password
    min protocol = SMB2
    max protocol = SMB3


    sollte über [MeineFreigabe] stehen, die workgroup anpassen

  • Hallo Andrej,

    Der Abschnitt [global] ist schon da, ich habe nur den Teil mit der Freigabe hier angegeben. Aber hier ist der komplette Abschnitt:

    So sieht der rest von [global] aus, hab noch ein paar Kommentare weggelassen, damit das nicht zu lange wird. Ein paar Einträge von dir habe ich gefunden. Aber wegen dem fehlenden Zeilenumbruch, kann ich nicht genau erkennen, was vor dem "=" stehen soll und was danach.

    Viele Grüße
    Holger

  • Hi,

    ergänze doch mal bitte noch mit:

    Code
    min protocol = SMB2
    max protocol = SMB3

    speichern und mit:

    Code
    sudo service smbd restart
    sudo service nmdb restart

    die Samba-Dienste neustarten; probieren.

  • Hallo,

    habe die Einträge ergänzt und den Dienst neu gestartet (außer dem nmdb, den gibt's bei mir wohl nicht). Leider kein Erfolg.

    Viele Grüße
    Holger

  • OK, hab ich auch gemacht, keine Änderung. Aber es hat ja auch vorher schon funktioniert, wenn ich mich mit meinem normalen Linux-Benutzer angemeldet habe. Es funktioniert nur mit dem smbuser nicht, der nur für den Zugriff auf diese Freigabe vorgesehen ist.

    Viele Grüße
    Holger

  • Das ist ja eins meiner Probleme mit Linux, die Rechtevergabe ist für mich als langjähriger Windows-Nutzer nicht so klar erkennbar. Ich dachte ich hätte das mit dem Punkt 4 aus meiner Anleitung oben erledigt. Oder habe ich nicht?

    Viele Grüße
    Holger

  • Push, push,
    Wollte mich nur noch mal in Erinnerung rufen. Aber falls keiner mehr eine Idee hat, kann man das auch schließen. Sollte ich mal auf die Lösung stoßen, werde ich das Ergebnis gerne teilen.
    Danke für eure Unterstützung.

    Viele Grüße
    Holger

  • Huhu,


    dein Ansatz war m.M.n. richtig, aber ich glaube du hast da ein Problem mit den Rechten und Pfaden. Stichwort /home/holger/freigabe. Kannst du mal das versuchen:


    Code
    sudo mkdir -p /srv/samba/MeineFreigabe
    sudo chown -R smbuser:smbuser /srv/samba/MeineFreigabe
    sudo chmod -R 770 /srv/samba/MeineFreigabe

    (Natürlich kannst du "MeineFreigabe" namentlich anpassen)

    Danach in der smb.conf den Pfad noch anpassen: path = /srv/samba/MeineFreigabe

    (auch hier dann den "MeineFreigabe"-Name anpassen)


    Da du, wie andrej80 schon sagte,

    Code
    min protocol = SMB2
    max protocol = SMB3

    eingetragen hast, solltest du in Windows, falls dus aktiviert hast, SMBv1 deaktivieren. (Post #6) - SMBv1 ist uralt und mega unsicher. Zudem bringt es ja sowieso nichts, da du eben als min protocol SMB2 angegeben hast. Gehe ich mal davon nun aus.


    Info: In Post #4 steht folgender Befehl: sudo service nmdb restart - da ist ein Dreher drin. Es müsste sudo service nmbd restart heißen. :)


    Zum Schluss dann also: sudo systemctl restart smbd nmbd

    Zudem kannst du mal ins Terminal einfach nur testparm eintippen und Enter drücken. Das checkt deine smb.conf, ob alles passt.


    Kannst ja mal versuchen und Info geben, ob es klappt. Dann sehen wir mal weiter. :)


    Lg

  • Hallo taker-` ,

    sorry, hatte am Wochenende viel zu tun, ich werde das heute Abend aber mal umsetzen und berichten. Und ja, mit der Rechtevergabe unter Linux habe ich so meine Probleme, wechsel halt gerade von Windows nach Linux, da muß ich mich erst daran gewöhnen.

    Gruß

    Viele Grüße
    Holger

  • Hallo taker-` ,

    habe jetzt mal nach deiner Anleitung eine neue Testfreigabe eingerichtet, und was soll ich sagen, es funktioniert, allerdings mit einer kleinen Einschränkung, der Freigabenamen darf nicht mehr als 12 Zeichen lang sein. Aber das ist hier erst mal nicht so wichtig. Dann habe ich versucht das Vorgehen bei meiner bestehenden Freigabe noch mal zu wiederholen. Hat nicht funktioniert. Dann habe ich einen neuen Ordner erstellt auf dem gleichen Laufwerk im gleichen Pfad, wie der Ordner, den ich versuche freizugeben, mit den gleichen Befehlen über die Kommandozeile, Dienst neu gestartet, und alles, aber geht nicht. Und jetzt kommt der Punkt, den ich vielleicht schon ganz am Anfang hätte mitteilen sollen, wenn ich daran gedacht hätte. Der Ordner befindet sich auf einer Windows-HDD mit NTFS und ist nur über fstab eingebunden. Das scheint der Grund zu sein, warum die Rechte nicht richtig gesetzt werden (können).

    Ich habe dann mal meinen Scanner auf die Test-Freigabe auf meinem Linux-Laufwerk umgestellt, also das die eingescannten Seiten auf dieser Freigabe direkt abgelegt werden. Tja, und das funktioniert dann auch. Also muß ich meine Festplatten dann wohl doch alle neu formatieren und mich entscheiden, wo ich meine Daten zukünftig ablege.

    taker-` wenn du mir jetzt nur noch sagen könntest, wie ich auf den Freigabenordner zugreifen kann, ohne immer das root-Kennwort eingeben zu müssen, wäre das noch das Sahnehäubchen an der ganzen Sachen. Dann können wir das Thema ganz abschließen.

    Bzw. wie ich eine Gruppe anlegen kann, die dann meinen Benutzer und den Scanuser beinhaltet und Rechte auf den Ordner hat.

    Viele Grüße
    Holger

  • Hey hey,

    ahhh ok. Ja gut, wenn das NTFS ist, dann klar... ;) Die Info wäre wichtig gewesen. :D

    NTFS "versteht" die Linux-Befehle, wie chown, chmod und so nicht. Diese Berechtigungssachen muss beim direkt beim einhängen in der fstab mit angeben. (Stichwörter: uid, gid und dmask/fmask Parameter)


    Falls du bei Linux bleiben möchtest, würde ich auf kurz oder lang dann sowieso von NTFS weg gehen und eher z.B. ext4, oder sonst was nehmen.


    Sooo und nun, damit du nicht immer das Passwort eingeben musst, könnte man eine Gruppe anlegen:

    Wir nennen sie jetzt einfach mal smb-zugriff:

    Code
    sudo groupadd smb-zugriff


    Nun noch die User in die Gruppe einfügen:

    (DEIN_LINUX_NAME natürlich mit deinem User ersetzen)

    Code
    sudo usermod -aG smb-zugriff DEIN_LINUX_NAME
    sudo usermod -aG smb-zugriff smbuser


    Nun den Ordner zur Gruppe hinzufügen:

    Code
    sudo chown -R root:smb-zugriff /srv/samba/MeineFreigabe


    Rechte noch anpassen:

    Code
    sudo chmod -R 2770 /srv/samba/MeineFreigabe

    (770 bedeutet, Besitzer und Gruppen dürfen alles, der Rest der Welt nichts ;) - die 2 davor sorgt dafür, dass jede neue Datei, die in diesem Ordner erstellt wird, z.B. wenn der Scanner eine neue PDF-Datei ablegt/erstellt, automatisch wieder der Gruppe smb-zugriff gehört. )


    Somit solltest du nun immer vollen Zugriff haben und brauchst kein Passwort mehr.

    Achja, damit die Gruppenzugehörigkeit für deinen User aktiv wird, musst du dich ausloggen und neu einloggen, oder den PC neu starten.


    Versuchs mal und geb bescheid, ob es klappt, oder nicht. Falls nein, dann sag bitte, was du alles getan hast, bzw. was genau passiert. Am besten halt alles vom Terminal hier posten.


    PS: Willst du mal deine fstab posten? --> cat /etc/fstab - Falls du die HDD nicht formatieren willst/kannst und sie NTFS bleiben soll, dann müssten wir das noch anpassen.


    Lg

  • Hallo,

    Super coole Anleitung, vielen Dank. ich hoffe ich kann das auch mal so locker abspulen wie du. Aber das ist ja mein Ziel. Ich muß mich halt Stück für Stück da rantasten und ausprobieren. Aber im Moment kann ich nicht einfach alles rüberkopieren, löschen und dann nur noch Linux machen. Ist bei mir halt nen Prozeß, dauert ein wenig, aber in ein paar Monaten will ich nichts mehr mit Microsoft und Co zu tun haben. Mir gefällt die Entwicklung nicht, die sich da ankündigt (Stichwort Abo-Modell).

    Ich werde mich heute Abend da mal ransetzen und schaun, wie weit ich kommen. Ich werde berichten.

    Gruß

    Viele Grüße
    Holger

  • So,

    hab mich noch mal mit dem Thema beschäftigt und mir die Befehle und das Vorgehen angeschaut. Dann hab ich das Programm Benutzer und Gruppen aufgerufen, und alle guten Vorsätze und Gedanken wie ich da vorgehen könnte (auch über das Terminal) waren dahin. Ich wollte eigentlich nur mal schauen, welche Gruppen schon existieren und dann steht da eine Gruppe mit dem gleichen Namen drin wie ich für den Scan-Dienst eingerichtet habe, also smbuser, um beim Beispiel hier zu bleiben. Ich werde hier echt irre. Hat unter Linux wirklich jeder Benutzer auch eine gleichnamige Gruppe?
    Ok, dann hab ich mir gedacht, wenn das schon dasteht, dann brauch ich ja auch keine neue Gruppe anzulegen, nehm ich doch einfach die bestehende, habe diese meinem Benutzerkonto zugewiesen und siehe da, kein Kennwort mehr notwendig. Ich muß mir unbedingt das Rechtekonzept von Linux reinziehen. Sonst seh ich schwarz für den vollständigen Umzug auf Linux.😉

    Hier noch mal meine Festplatten, die ich in der fstab eingerichtet habe, allerdings nicht mit dem Texteditor, sondern mit dem grafischen Tool für Festplatten Laufwerke:

    Code
    /dev/disk/by-uuid/E4C4883BC48811CA /media/<user>/INSTALL auto nosuid,nodev,nofail,x-gvfs-show 0 0
    /dev/disk/by-uuid/AE74C76974C7333F /media/<user>/BACKUP auto nosuid,nodev,nofail,x-gvfs-show 0 0
    /dev/disk/by-uuid/CE3CF16B3CF14F49 /media/<user>/DATEN auto nosuid,nodev,nofail,x-gvfs-show 0 0
    /dev/disk/by-uuid/00FE8441FE843148 /media/<user>/VM auto nosuid,nodev,nofail,x-gvfs-show 0 0

    Ich verstehe zwar noch nicht alles, aber dank euch hier im Form und deiner Hilfe taker-` funktioniert jetzt alles so wie es soll.
    Vielen Dank dafür.😄

    Gruß

    Viele Grüße
    Holger

  • Yo,

    super dass es jetzt klappt! 😄

    Und ja, genau so ist es: Unter Linux wird standardmäßig bei der Erstellung eines Benutzers oft automatisch eine gleichnamige Gruppe angelegt (das nennt man "User Private Group"-Schema). Das ist völlig richtig. Wenn du erst mal ein bisschen tiefer in die Rechte (chown/chmod) und die Gruppen eingetaucht bist, wirst du Linux vermutlich nicht mehr missen wollen. :D

    Dass du dich da reinfuchst, ist der genau richtige Weg – lass dich nicht stressen, der vollständige Umstieg ist ein Marathon, kein Sprint. ;)
    Als ich mich damals angefangen habe damit richtig zu beschäftigen, war auch oft alles immer unklar und unverständlich. Mit der Zeit lernt mans einfach, wenn man will. Was ich damals meine Systeme zerschossen hab, und immer wieder formatiert, neu installiert... Dann war nur noch Windows drauf... und irgendwann wieder mal versucht und als ich dann soweit mal alles am laufen hatte, war, bzw. bin ich froh, dass ich das so getan hab. Ich bin mittlerweile fast nur noch in CachyOS. Windows nutze ich nur noch, wenn ich mal n Spiel hab, was wegen Kernel-Level-Anti-Cheat oder sowas nicht geht. Ansonsten wars das mit Windows.


    Noch zuu deiner fstab: Das sieht auf den ersten Blick gut aus. Da du dort auto stehen hast, werden diese NTFS-Platten bei jedem Start automatisch eingehängt. Da du aktuell mit den Zugriffsrechten auf diesen NTFS-Platten zufrieden bist (oder sie zumindest so funktionieren wie du es brauchst), kannst du das erst mal genau so lassen. Falls du später doch mal Probleme mit den Rechten auf den NTFS-Daten bekommst, sag einfach Bescheid – dann müssen wir in der fstab lediglich die Optionen um ein paar uid= und gid= Einträge erweitern, damit Linux "so tut", als gehörten die Dateien auf der Platte dir.

    Viel Spaß beim weiteren Linux-Experimentieren und beim schrittweisen Abschied von Microsoft! Wenn wieder mal eine Frage aufkommt, melde dich einfach wieder.


    Achja, noch was: Dein auto könnte etwas "gefährlich" werden, weil man sich drauf verlässt, dass die Rechte vom Systen vergeben oder übernommen werden. Da du aber smbuser und dich selbst in eine Gruppe hinzugefügt hast, funktioniert das wahrscheinlich, weil der Ordner auf der NTFS-Platte durch das grafische Tool (oder via Terminal?) "festgenagelt" wurde.

    Aber jo... solange es jetzt erstmal so läuft, lass laufen. :P


    Lg

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!