keine schreibrechte auf der netzwerkfreigabe mit samba

  • hi@alle


    wäre nett, wenn sich hier einer findet der mir bitte bei meinem problem weiterhilft.

    danke im voraus.:danke_ATDE:


    problem:

    keine schreibrechte auf der freigabe.


    also ich hab alle wikis durchgeklappert die ich so finden konnte, sei es ubuntuusers, thomas-krenn, in debian direkt oder im elektronik-kompendium und was mir sonst goggle noch alles ausgespuckt hat.


    technisches equipment:

    primäer:

    pi4b 4gb ram mit usb-stick 3.0 als bootlauferk, dualdisplay

    pi4b 8gb ram mit aktivem externen raid-controller usb 3.0 1tb als bootlaufwerk, im moment headless


    zum testen und experimentieren:

    anstatt des 8gb-pi mit raid - pi4b 4gb mit 32gb sd-karte, headless


    insallierte software auf allen pi's - raspberry pi os 32bit mit gui vom 27.5.20 voll geupdated.

    samba version 4.9.5 und smclient sind auf dem experimentier-pi und auf dem raid-pi installiert und der intergrierte vnc-server ist auf beiden aktiv und arbeitet anstandslos.

    auf allen pi's ist der selbe user als einziger user aktiv, pi wurde entfernt.

    alle hosts haben einen eigenen namen und feste ip-adressen.

    der user hat auf allen pi's ein aktives home-verzeichnis und ist besitzer der verzeichnisse und dateien und die gruppe des users ist die selbe wie der user.


    ziel:

    die freigabe des home-verzeichnises des users als netzlaufwerk für den user mit passwort-sicherung freizugeben, mit schreibrechten - nicht nur lesend.


    mounten, lesen, automatisch mounten über fstab hat in jedem der versuche anstandslos funktioniert.


    bei einem versuch mit der rekursiven übernahme der rechte an verzeichnissen und dateien durch root mit chown und setzen der oktalzahlen 0777 mit chmod und dem eintrag in der smb.conf mit guest ok = yes, waren schreibrechte vorhanden.

    das kann aber nicht das ziel sein, so schreibrechte im share zu erlangen.


    momentane smb.conf auf dem experimentier-pi

    bekannt ist das "writable = yes" und "read only = no" das selbe ist und writeable veraltet ist, sowie auch workgroup.

    nicht ganz 100%ig klar ist in "homes" der eintrag "valid users = %S" und die bedeutung der variablen %S.


    der user hat ein sambapasswort und wurde auch noch einmal zusätzlich aktiviert


    Code
    sudo smbpasswd -a user
    sudo smbpasswd -e user


    mounten der freigabe erfolgt im moment manuell, mit dem befehl


    Code
    sudo mount -t cifs //"ip des servers"/homes/ /home/"user"/smb -o user="user"


    nach sambapasswort-eingabe erscheint die freigabe im ordner smb (mountpunkt), aber ohne schreibrechte.


    ich kann im home-verzeichnis wenn ich lokal via vnc auf dem server bin verzeichnise und dateien erstellen wie ich will.


    gefundene und beseitgte fehler /probleme:

    ein nicht aktiver nmbd-dämon auf dem server. immernoch keine schreibrechte.


    fehleranalyse via smbclient lokal auf dem server:


    Code
    sudo smbclient -L //"ip des servers"/ -U user


    liefert nach sambapasswort-eingabe:


    Code
    Sharename   Type        Comment
    ---------       ----      -------
    IPC$               IPC          IPC Service (Samba 4.9.5-Debian)
    user              Disk          Home Directories

    beim versuch mit:


    Code
    sudo smbclient //localhost/homes/ -o user="user"

    egal ob mit localhost oder der direkten ip-addresse kommt folgende fehlermeldung:


    Code
    Anonymous login successful
    tree connect failed: NT_STATUS_BAD_NETWORK_NAME

    warum anonymous - erstens?

    und was bedeuted die fehlermeldung NT_STATUS_BAD_NETWORK_NAME?


    hab ja im inet nach der fehlermeldung gegoogelt, aber nicht verstanden wo und wie die lösung dazu aussieht in den anderen foren.


    Also ist meine frage was ich falsch gemacht habe?


    testparm liefert jedesmal das meine smb.conf ok ist.


    wenn noch etwas fehlt oder meie beschreibungen nicht exakt genug waren bitte ich um verständnis und fülle fehlende informationen entsprechend auf.


    vielen dank nochmals für die hilfe im voraus

    die wahrheit will keiner hören oder lesen.

  • Go to Best Answer
  • Finde bitte die Shift-Taste auf der Tastatur deines Computers, das kann man ja so nicht lesen.

    Entschuldigung bin notorischer Kleinschreiber.

    Shifttasten hab ich drei auf der Tastatur.

    die wahrheit will keiner hören oder lesen.

    • Official Post

    Hallo scorpionesc9999,


    willkommen im Forum!


    sudo mount -t cifs //"ip des servers"/homes/ /home/"user"/smb -o user="user"

    Interne IPs zu verschleiern macht keinen Sinn, da man von aussen eh nicht darauf zugreifen kann und "user" hat einen Namen, den man zuordnen und dessen Rechte sehen könnte, wäre der Name nicht "user". :shy: Bitte KLARTEXT, soweit es im internen Netz bleibt! ;)

    • Best Answer

    Damit der User am Client auch Schreibrechte am Samba Server bekommt, musst Du im Mount-cifs auch die Option uid=/gid= setzen. Sonst wird per default die uid/gid des aufrufenden Users herangezogen und die ist uid=0, gid=0


    Die Samba Server conf Variablen (u.A. %S) werden im Abschnitt "Variable Substitutions" in < man smb.conf > erklärt.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Hallo scorpionesc9999,


    willkommen im Forum!


    Interne IPs zu verschleiern macht keinen Sinn, da man von aussen eh nicht darauf zugreifen kann und "user" hat einen Namen, den man zuordnen und dessen Rechte sehen könnte, wäre der Name nicht "user". :shy: Bitte KLARTEXT, soweit es im internen Netz bleibt! ;)

    ja es sind interne, nicht routbare ip's und dann nennen wir den user mal bla


    sudo mount -t cifs //10.0.0.3/homes/ /home/bla/smb -o user=bla

    die wahrheit will keiner hören oder lesen.

  • danke rtfm deine antwort war die lösung meines problems:danke_ATDE:


    die schlussfolgerung aus deiner bemerkung war g und u-id des users auf dem server raussuchen und beim mounten mit übergeben.


    Code
    sudo mount -t cifs //10.0.0.3/homes/ /home/bla/smb -o user=bla,gid=1000,uid=1000


    ich hab, nachdem ich wusste das ich bei "variable substitutions" nachschauen muss, bei samba.org die erklärung für %S (current share's name) gefunden und festgestellt das ich das nicht brauche.

    hab die smb.conf aufgeräumt


    sind nur noch ein paar kleine versändnisfragen übrig.

    1. solange ich die u und g-id beim mounten mit übermittle, kann ich auch auf das home share von "bla" (ist der user) zugreifen selbst wenn der client mit einem anderen user (bla1 - anderer user) arbeitet?


    und 2. durch create mode und directory mode = 0777 kann dann auch jeder andere user schreibrechte erlangen ?


    wenn beide fragen mit ja zu beantworten sind, dann ist das genau das was ich wollte. damit wäre die lösung perfekt.

    die wahrheit will keiner hören oder lesen.

    Edited once, last by scorpionesc9999 ().

  • Wenn Du Windows verwendest, um zwei Linux Maschinen zu verbinden, musst Du die Eigenheiten von Windows akzeptieren.

    Normalerweise wäre dafür NFS/NFS4 vorgesehen. Die Netzwerkstrecke vom CIFS Client zum SAMBA Server wird über Windows als Windows User (username=,user=) zurückgelegt und dahinter verbirgt sich ein Linux User, dem sein Home Verzeichnis (normalerweise mit 755/644) geshared wird.


    chmod 777 wird von mir nicht nicht unterstützt.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • nein zur zeit ist keine windows-kiste im einsatz in meinem netzwerk - steige um auf linux, windoof nervt nur noch und zocken tue ich auch nicht mehr so viel.

    ich bastel mir noch eine "spiele-konsole" mit dos-box und alten offline games aus den guten alten tagen, vielleicht auch mit einem windows-IoT.

    der momentane stand ist 5 RPi's und ein linux-lapi mit debian buster.


    was wäre deiner meinung die beste version für create mode und directory mode?

    oder ist es besser die mit fstab beim auto-mount mitanzugeben als ..,file_mode=0777,dir_mode=0777 ?

    die wahrheit will keiner hören oder lesen.

  • nein zur zeit ist keine windows-kiste im einsatz in meinem netzwerk -

    ....

    der momentane stand ist 5 RPi's und ein linux-lapi mit debian buster.

    Und warum verwendest Du dann einen (Windows-)Samba Server und einen (Windows-)CIFS Client ?


    Lass file-mode/dir-mode weg, dann werden die default Werte genommen.

    Die man pages brauchst Du nicht im Internet suchen. Sie werden mit dem Samba Server automatisch mitinstalliert und upgedatet, wie bei allen anderen Programmen auch.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • eigentlich nur wegen der kompatiblität und falls später doch mal ne windoof-kiste auch drauf zugreifen soll.

    hatte früher ein internet cafe mit einem heterogenen netzwerk und da war mein samba-server ein gutes werkzeug.


    ok - lasse file- und dir-mode weg in der fstab.


    ehrlich gesagt hab ich nicht mal nen plan wo ich die man-pages finde und aufrufe, hab entweder immer nen buch oder heutzutage ne pdf oder ich wühl mich durchs internet und forme das um was ich dort finde für meine zwecke.


    ich weis das ich noch viel über linux lernen muss


    geht es einfacher lunix-rechner zu verbinden das ich also einen zentralen datenablage-ort habe und dezentral von überall drauf zugreifen kann?

    macht datensicherung und wartung einfacher in der weise.



    so ich hab jetzt die create mask auf 0644 und die directory mask auf 0755 angepasst und nach global in der smb.conf verschoben

    und die fstab mit credentials-datei aufgerüstet.

    alles funktioniert perfekt.


    DER THREAD kann als gelöst GESCHLOSSEN werden.


    nochmals besten DANK an RTFM :danke_ATDE:

    die wahrheit will keiner hören oder lesen.

    Edited 2 times, last by scorpionesc9999 ().

  • (Fast)Jedes in /bin, /sbin, /usr/bin, /usr/sbin installierte Programm hat eine mitinstallierte Dokumentation, die immer auf die aktuelle Installation abgestimmt ist. Seit den 1980er Jahren wird diese mit dem Terminalbefehl < man Programmname > in unixoiden Betriebssystemen, also auch im Linux, aufgerufen, und im EMACS Style im Terminal angezeigt. Die daneben verfügbaren man-pages in HTML, (e)PS, PDF u.A. werden am Pi nicht vorinstalliert.

    < man man > (Eingabe ohne Klammern) erklärt den man Befehl selbst.

    < man Programmname > zeigt die man Page von Programmname, Abbruch mit q - wie quit.

    < man --whatis Programmname > zeigt eine einzeilige Kurzbeschreibung von Programmname. Equivalent zu < whatis ... >

    < man --apropos Suchbegriff > zeigt alle Fundstellen, in denen Suchbegriff enthalten ist. Equivalent zu < apropos ... >

    < Programmname --help > zeigt die gebräuchlichsten Optionen, wenn schon POSIX kompatibel, sonst nur -h

    u.s.w.


    Linux Rechner werden normalerweise mit NFS bzw. NFS4 (Server/Client) verlinkt, wobei die Rechte aufrechterhalten bleiben.


    Die zentrale Verwaltung mehrerer Linux Rechner in einer Domäne (auch lokal-net) kann von NIS übernommen werden.



    Servus !

    RTFM = Read The Factory Manual, oder so