[Frage] [gelöst] Samba-Pfad zu FRITZ!NAS?

Aus der Tatsache, daß beim GUI-Zugriff auf das NAS der Pfad ein "fritz.nas" enthält, kann/sollte man eben nicht schließen, daß das für SMB auch gelten würde. Einfach den Windows-Pfad kopieren (das geht, wenn man im Windows-Explorer hinter das "Musik" klickt) und dann so anpassen, wie es hier schon mehrfach erläutert wurde. Der erste Teil der Adresse ist der Rechner-Name, der zweite Teil ist der Freigabe-Name und erst danach kommen irgendwelche Pfadangaben, relativ zur Freigabe (der Name des Verzeichnisses, wo der USB-Stick gemountet wurde (USBDISK-irgendwas - wobei man mit einem vernünftigen Volume-Label auch einen sinnigeren Pfadnamen erhalten würde), ist bereits Bestandteil der Pfadangabe).
 
@HabNeFritzbox :

//FB-7590-Router/FB-7590-Router/USBDISK3-0-01/Musik

[FAILED] Samba mount failed with the following error output: │
│ │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(112): Host is down │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │


ebenso mit
//fritz.box/FB-7590-Router/USBDISK3-0-01/Musik


[FAILED] Samba mount failed with the following error output: │
│ │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(2): No such file or directory │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) │
│ mount error(112): Host is down │
│ Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Warum gibt die Fritzbox "Host is down" zurück? Aber egal, ich habe es ohnehin (fast) aufgegeben.

Ich werde mich noch an die Developer von DietPi wenden, unter deren Betriebssystem der Raspi3 läuft, in den die Shares der Fritzbox gemountet werden sollen. Wie gesagt, alle anderen Shares werden völlig problemlos gemountet, nur das von der Fritze nicht.

Falls ich noch etwas zielführendes vermelden kann, schreibe ich wieder hier.

Viele freundliche Grüße.
 
Wie gesagt, alle anderen Shares werden völlig problemlos gemountet, nur das von der Fritze nicht.
Weil Du letztlich auch alles falsch machst, was man falsch machen kann. Wie wäre es denn, wenn Du uns mal das gesamte Protokoll zeigst und nicht immer nur ein paar Brocken von Fehlermeldungen hinwirfst? Dann könnte man auch sehen, WIE genau Du da versuchst, die Freigabe zu mounten.

Denn beim SMB-Network mountet man die Freigabe ... wenn das also bei Deiner FRITZ!Box 7590 mit dem Namen "FB-7590-Router" eine Freigabe mit dem Namen "FB-7590-Router" ist, dann mußt Du auch genau diese mounten und den ganzen Quatsch mit dem Pfad über das USB-Volume zu dem Ordner mit Deiner "Musik" einfach mal weglassen beim Mount-Versuch ... während natürlich der Benutzername noch als Option (-o username=<user>) in das Mount-Kommando gehört.
 
Nun, ein paar Screenshots, vielleicht sieht ja jemand etwas; (die IP-Adresse meiner Fritzbox ist 192.168.115.5; den entsprechenden Benutzernamen habe ich natürlich eingegeben, das Feld habe ich für den Screenshot leer gelassen):

2021-02-06 22_25_38-Window.png2021-02-06 22_26_29-Window.png2021-02-06 22_26_55-Window.png2021-02-06 22_27_26-Window.png2021-02-06 22_29_26-Window.png2021-02-06 22_29_54-Window.png2021-02-06 22_30_37-Window.png2021-02-06 22_31_03-Window.png2021-02-06 22_31_39-Window.png2021-02-06 22_32_00-Window.png
 
Zuletzt bearbeitet:
Bei Ordnernamen fallen wohl vorne // weg und auch Server muss nicht erenut angegeben werden, da zuvor schon IP für Server angegeben hast.

Probiere einfach nur FB-7590-Router als Share.
 
Zuletzt bearbeitet von einem Moderator:
Tachchen...

Eintrag in /etc/fstab mit Debian
//[ip]/fritz.nas/[USB-Stickname] /mnt/fritz.box cifs username=[user],password=[password],vers=3.0,noperm 0 0

auf der bash auch mit Debian
mount -t cifs -o username=[user],password=[password] //[ip]/fritz.nas/[USB-Stickname] /mnt/fritz.box/

Und wenn ich auf die Bilderserie eingehe: Der Pfad in Bild 5 stimmt nicht.
Das sollte so aussehen:
Unbenannt.png
Anstelle des FritzBox Namens würde ich eher die IP nehmen...

Falls die IP der Fritz!Box 192.168.115.5 lautet und ich den Konfigurationsassistenten richtig verstehe ist's wohl eher so:
Unbenannt.png

Vielleicht auch mit slash am Anfang. Musst mal ein bisschen "fummeln".

Viel Glück:)
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    31.2 KB · Aufrufe: 24
  • Unbenannt.png
    Unbenannt.png
    31.7 KB · Aufrufe: 14
Zuletzt bearbeitet:
@ploieel:
Da soll jetzt jemand drauf kommen, daß da irgendein "Mount-Manager" verwendet wird und gar kein eigenes Mount-Kommando. Wobei eben der "shared folder name" der Name der Freigabe ist - so wie es in einem der Screenshots auch steht.

@pete-patata:
auf der bash auch mit Debian
mount -t cifs -o username=[user],password=[password] //[ip]/fritz.nas/[USB-Stickname] /mnt/fritz.box/
Wie bitte soll das funktionieren? Weiter oben ist nachzulesen, daß bei ihm die Freigabe eben gerade NICHT fritz.nas lautet und die Angabe von [USB-Stickname] würde auch nur funktionieren, wenn es dafür tatsächlich eine gesonderte Freigabe gäbe. Vom nqcs (und davon reden wir hier, wie man anhand von Modell und Versionsnummer problemlos schlußfolgern kann und die stehen nun tatsächlich schon länger hier im Thread) wird aber nur eine einzige Freigabe erzeugt, die startet intern in /var/media/ftp und sie kriegt den Namen, den der Benutzer unter Heimnetz -> USB / Speicher -> Geräte und Heimnetzfreigabe -> Heimnetzfreigabe im Feld Name (unterhalb von Zugriff über ein Netzlaufwerk (SMB) aktiv) eingestellt hat - wie übrigens auch der Hinweistext in der Seite verrät:
Stellen Sie hier den Freigabenamen ein, unter dem die FRITZ!Box die Speicher im Heimnetz zur Verfügung stellt [...]
Dein Vorschlag ist also - zumindest wenn's um das (CIFS-)Mounten der SMB-Freigabe einer FRITZ!Box 7590 mit Firmware-Version 07.24-xxxxx (in der unveränderten Form, die von AVM bereitgestellt wurde) geht - ausgesprochener Kohl ... wie wäre es denn, wenn Du das künftig vorher auch probierst/testest oder zumindest dazu schreibst, daß es sich um reine Vermutungen, wie das gehen KÖNNTE, handelt?
 
Guck mal in Post #16...

btw: Falls es sich auf meine Antwort bezog.
Bei mir funktioniert es genauso...
Zumindest hat es das vor 5 Minuten...

PS: Gerade höre ich Stereo Total "Du bist schön von hinten..." Irgendwie erinnert mich das an irgendetwas...
 
Zuletzt bearbeitet:
Guck mal in Post #16...
Was genau hat der Beitrag (oder der Screenshot dort) jetzt mit SMB zu tun? Vielleicht liest (und verstehst) Du mal #21 - und in #27 habe ich das für Dich auch noch einmal ausführlicher erklärt. Egal, was da beim SMB-Zugriff als Freigabename verwendet wird, die Angabe in einer URL, um auf das NAS per AVM-GUI zuzugreifen, wird IMMER fritz.nas sein.

Bei mir funktioniert es genauso...
Ja klar ... und das alles auch unter Beachtung der o.g. Randbedingungen. Ich erlaube mir dann mal, das einfach nicht zu glauben und in das Reich der Fabel zu verweisen (um das mal höflich zu formulieren, egal, was Du gerade hörst) - Du wärst jedenfalls ein ziemliches "pinkes Einhorn", wenn bei Dir der CIFS-Support im (Linux-)Kernel so funktionieren würde, daß da nicht die SMB-Freigabe, sondern irgendein tiefer liegendes Verzeichnis gemountet werden könnte.

Aber es ist mir auch egal, ob ich Dich dazu bewegen kann, das einfach mal (wirklich) zu testen und ggf. zu korrigieren - es reicht mir auch vollkommen, wenn ich andere, spätere Leser davon abhalten kann, an diesen Vorschlägen (die unter den genannten Bedingungen so nicht funktionieren werden) ebenfalls zu verzweifeln.

Denn wenn man genau hinsieht, hat schon @NDiIPP in #3 und #8 jeweils die korrekten Hinweise gegeben, denn da steht nach [Name] eben nichts weiter in den Angaben für gültige SMB-URLs. Dieser Quatsch kommt erst in #9 wieder ins Spiel ... und das ist und bleibt nun mal genau das, wie ich es jetzt ausdrücklich nenne: Es ist Unsinn und der wird durch mehrmaliges "Bekräftigen" weder besser noch wahrscheinlicher.

Denn selbst wenn es auf dem SMB-Server weitere Freigaben für den USB-Stick gäbe, die eben nicht in der NAS-Wurzel starten, dann würde eine gültige URL, die man zum Mounten einer solchen Freigabe verwenden könnte, auch dort wieder den Namen der Freigabe nach dem Server-Namen enthalten und dann gäbe es dort auch kein fritz.nas.

Jeder, der schon einmal SMB-Freigaben von irgendeinem Server verwendet hat und die dabei nicht nur "browsen", sondern tatsächlich mounten wollte (das geht unter Windows ja auch, entweder über den Windows-Explorer oder über das net-Kommando von Windows), sollte dabei auch bemerkt haben, daß es dort keine zusätzlichen Pfadangaben gibt ... deshalb gibt es die auch beim Mounten einer solchen Freigabe nicht, sondern höchstens irgendwann später, wenn man über diese gemountete Freigabe dann auf tieferliegende Dateien zugreifen will (wobei so ein Mounten u.U. auch automatisch erfolgt oder gar nicht erforderlich ist, das hängt vom OS und von ansonsten installierter Software ab - aber hier geht es ja explizit um die Frage, wie man eine SMB-Freigabe über CIFS mountet) und daher MUSS die oben stehende Behauptung, daß das Mounten eines Verzeichnisses unterhalb einer UNC-Ressource (das ist eine SMB-Freigabe) bei @pete-patata so funktionieren würde, wie das weiter vorne geschrieben steht (und von mir zitiert wurde), auch falsch sein.

Das kann man auch problemlos selbst noch einmal in der Man-Page für das "mount.cifs" nachlesen: https://www.samba.org/~ab/output/htmldocs/manpages-3/mount.cifs.8.html
 
Na dann:
In Post #16 ist im Screenshot fritz.nas zu lesen. Daraus schliesse ich, das der Kollege da nicht viel verändert hat.

Bei mir funktioniert das mounten wie in #26 beschrieben.

Übrigens: Es wären IPUs die bei mir rumliefen.
Und ja: Die gibt es hier.

Jetzt was selbstreferentielles aus #5 zur Wiederholung bevor Du noch mehr schreibst.
Warten wir doch auf eine Rückmeldung des Fragestellers.
 
Entschuldigung, ich verstehe nichts mehr. Was genau muss ich in den Screenshot
2021-02-06 22_29_26-Window.png
aus #24
eintragen? Es tut mir leid, aber die Diskussionen in #28 und #29 bringen mir nichts. Es mag User geben, die deren Inhalt verstehen und auch umsetzen können, aber dazu gehöre ich leider nicht mehr.

Viele Grüße.
 
Siehe #25, bei Ordner auch nur Ordner angeben nicht mehr, zum testen.
 
@ploieel:
Tja ... das ist nun mal hier wie bei "1, 2 oder 3" - Du mußt Dich halt entscheiden, ob Du (sogar wenn's um Deine Screenshots geht) auf die Ratschläge von @pete-patata hören willst (inkl. der "Bilder" in #26) oder einfach mal den Beitrag #25 richtig liest und der Empfehlung im zweiten Absatz dort folgst.

EDIT: Sekunden zu langsam ...
 
Bei Freigaben vom Synology NAS und so wird es nicht anders sein, erst entweder Server angeben wie "diskstation" oder IP, und dann als Share z.B. music. Da wirst wohl auch nicht "//diskstation/music" oder so angegeben haben als Ordner (Share).

Wenn es dann mit "FB-7590-Router" klappt, dann sollte auch "FB-7590-Router/USBDISK3-0-01/Musik" klappen im Nachgang.
 
Zuletzt bearbeitet von einem Moderator:
Falls Du deine Fritz!Box seid #16 nicht umbenannt hast lautet der Pfad in Bild 5 wahrscheinlich:
fritz.nas/USBDISK3-0-01/Musik

Von meiner Seite: Viel Erfolg & gute Nacht allseits...
 
@PeterPawn:

Oh Mann, tausend mal Danke! Hätte ich nur mal +#25 richtig gelesen!!!

FB-7590-Router/USBDISK3-0-01/Musik

ist das einzig Richtige!

Ich kann auf einmal keine Screenshots mehr einfügen, deshalb als Text:

Mount target: /mnt/fritzbox7590usb3musik │
│ Mount source: //192.168.115.5/FB-7590-Router/USBDISK3-0-01/Musik │
│ Filesystem: Net │
│ Allocation: Capacity: 122.7GiB | Used: 7.2GiB (6%) │
│ Status: Drive is online and ready for use │
│ │




Es hat funktioniert, und ich freue mich sehr. Hoffentlich nützt die Diskussion zum Thema auch anderen Usern hier und anderswo. Natürlich auch DANKE an alle anderen hilfreichen Ratgeber!

Viele freundliche Grüße vom alten Mann ploieel.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: pete-patata
Ich korrigiere mich auch dahingehend, daß bei CIFS tatsächlich auch die Angabe von Verzeichnissen unterhalb eines Shares möglich ist und ich weiß meinerseits nicht, seit wann das so ist. Daß es mal anders war und gar nicht ging, kann man u.a. hier nachlesen: https://askubuntu.com/questions/137...emented-yet-when-i-try-to-mount-a-samba-share
Furthermore, you cannot mount a folder within a share as though it is a share--you should mount the share and then access the folder within it.
- und ich bin einigermaßen irritiert, daß das - zumindest dem ersten Anschein nach - inzwischen funktioniert.

Alle mir zugänglichen Quellen zum CIFS-Mount (angefangen bei der Man-Page für "mount.cifs" und zwar der aktuellen für Kernel 5) schreiben immer wieder davon, daß da nur ein Share gemountet werden KANN:
The mount.cifs utility attaches the UNC name (exported network resource) specified as service (using //server/share syntax, where "server" is the server name or IP address and "share" is the name of the share) to the local directory mount-point.
Aber es klappt offenbar doch auch mit Pfadangaben unterhalb des Shares - dann mache ich mich mal bei Gelegenheit dran und schaue nach, warum das so ist - und warum dann die ganzen Dokumentationen dazu nicht stimmen. Außer jemand zeigt mir noch eine (originale) Dokumentation, wo das anders beschrieben wäre - ich kenne (und finde) jedenfalls im Moment nur Quellen, wo das wieder exakt so nachzulesen ist mit dem "//server/share", wenn es um das Mounten von Freigaben geht.

Denn eines steht auch fest ... auch wenn man ein tieferliegendes Verzeichnis mounten kann, gehen alle Zugriffe darauf nach wie vor über die tatsächliche Freigabe (das muß ja nicht mal der Name eines existierenden Verzeichnisses auf dem Server sein, da kann man ja (nahezu) beliebig wählen) und alles weitere, wie AAA und Security, basiert auch auf der ursprünglichen Freigabe.

Ich gehe mal davon aus, daß die Vielzahl an Fehlermeldungen beim "DietPi", wenn es mit dem Mounten nicht klappt, auch daran liegt, daß da intern eben nicht nur eine Version so eines "mount"-Kommandos versucht wird (der Client weiß ja nichts weiter über die Fähigkeiten des Servers), sondern der Reihe nach mehrere und mit unterschiedlichen Protokollen und Parametern bzw. auch unterschiedlicher Syntax ("smb://server/share" funktioniert nämlich tatsächlich nicht mit der CIFS-Implementierung im Linux-Kernel 5) probiert wird, bis eben ein Versuch gelingt oder auch keiner. Das oben auch zu sehende "Host is down." ist jedenfalls üblicherweise ein Zeichen dafür, daß da mit dem falschen SMB-Protokoll zugegriffen werden sollte.

Aber es geht irgendwie - also nehme ich das, was ich zur Frage "Pfadangabe ist nicht möglich" geschrieben habe, zurück und es bleibt nur die Tatsache über, daß GUI-NAS und SMB unterschiedliche Dinge sind und der Freigabename nicht "fritz.nas" sein muß (und es hier erkennbar seit #16 - unterer Screenshot - auch nicht mehr war), was mich die Aussage in #27 auch aufrechterhalten läßt.

Für die nachfolgende Aussage hinsichtlich der Unmöglichkeit, da auch Verzeichnisse anzugeben, schäme ich mich in Grund und Boden - wie ich dazu kam, habe ich versucht zu erklären. Warum es funktioniert und das sogar - auch wieder entgegen der Dokumentation von MS (https://docs.microsoft.com/en-us/pr...ows-server-2012-r2-and-2012/gg651155(v=ws.11)) - unter Windows mit "net use", verstehe ich zwar immer noch nicht, aber ich versuche bei Gelegenheit, der Sache auf den Grund zu gehen. Vorerst nehme ich das so hin und habe mal wieder etwas dazugelernt.
 
Wenn ich "nasuser" ( zugewiesenes Verzeichnis: VOLUME/nasuser ) so mounte...
Code:
mount -t cifs -o username=nasuser //192.168.188.1/DEEPBLACK/VOLUME/nasuser /media/fritzbox
...nach Passwortabfrage/Bestätigung...
Code:
//192.168.188.1/DEEPBLACK/VOLUME/nasuser on /media/fritzbox type cifs (rw,relatime,vers=3.1.1,cache=strict,username=nasuser,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.188.1,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=65536,wsize=65536,bsize=1048576,echo_interval=60,actimeo=1)
...lande ich auch direkt im Verzeichnis, ohne VOLUME/nasuser nicht, sind zwar nur die beiden Verzeichnisse im Dateimanager sichtbar, aber dann muss ich mich noch "hinklicken".
 
Ich bin immer noch am Recherchieren, seit wann das so funktioniert ... denn es klappt tatsächlich auch für NFS-Freigaben - andere "Netzwerkfreigaben" habe ich noch nicht getestet.

Aber egal wo man auch nachliest - von der Man-Page für NFS über diverse Anleitungen im Internet (wobei die Primärquelle immer die Man-Page oder eine Dokumentation sein sollte und nicht ein "Erfahrungsbericht") bis zu unterschiedlichen CIFS-Quellen - es ist immer die Rede davon, daß da ein "share" (was üblicherweise als "Freigabe" ins Deutsche übertragen wurde) zu mounten wäre bzw. beim NFS dann ein "export", was sich mit den Angaben in der "/etc/exports" deckt. Selbst beim "Mount-Manager" vom "DietPi", dessen Bilder man oben sieht, steht (im fünften Screenshot) als Beispiel nur ein "mySharedFolder" und nichts von einem kompletten Pfad von der Freigabe bis zu einem Verzeichnis unterhalb einer solchen.

Da nicht alle "Dokumentierer" auf einmal geschlafen haben werden und es früher tatsächlich nicht funktionierte, muß es irgendeine Änderung gegeben haben, die an mir vorbeigegangen ist. Diese Änderung könnte jetzt rein zufällig diese Wirkung entfalten (was erklären würde, warum es nirgendwo (bei einer primären Quelle) dokumentiert ist) und gar nicht beabsichtigt sein. Oder sie wurde tatsächlich absichtlich so eingeführt, weil die Benutzer immer wieder bei der Frage, was sich letztlich mounten läßt (nämlich (lokale) Dateisysteme und (entfernte) Freigaben), durcheinander kamen - und da wollte man dann Abhilfe schaffen. Ich habe (zumindest bisher) noch keine Stellen dazu gefunden - erwartet hätte ich zumindest eine Diskussion auf der Kernel-Maillingliste o.ä., denn es erfordert ja zusätzlichen Aufwand (im Code), wenn man anstelle eines "filesystem objects" oder eines "remote shares" auch ein Verzeichnis auf einen "mount point" legen kann.

Denn spätestens in der Kommunikation mit dem Server muß der (lokale) Dateipfad ja dann wieder in seine richtigen Bestandteile zerlegt werden - dem Server muß ich schon mit dem richtigen "Aufsetzpunkt" beim Traversieren seiner Verzeichnisstrukturen kommen und da macht es dann schon einen Unterschied, ob eine "Ebene" in einem Dateinamen jetzt zum lokalen Pfad bis zum Mount-Point gehört oder schon zum entfernten Pfad zur Datei. Konkret sähe das z.B. so aus, wenn man mal eine Freigabe "share1" auf dem Server "server1" annimmt, die dann folgende Verzeichnisstruktur enthält:
Code:
dir1 (das "Wurzelverzeichnis" der Freigabe")
|
+---> dir1_1
|     |
|     +---> dir1_1_1
|     |     +---> file1
|     |
|     +---> dir1_1_2
|           +---> file1
|   
+---> dir1_2
Mountet man jetzt die Freigabe selbst (also mount ... //server/dir1 /mnt/somewhere), braucht man nur den Pfad von der Datei /mnt/somewhere/dir1_1/dir1_1_1/file1_1_1_1 rückwärts bis zum Mount-Point abzulaufen und man hat sofort den richtigen (relativen) Dateinamen (dir1_1/dir1_1_1/file1) unterhalb der Freigabe, den man dann auch in der Kommunikation mit dem Server verwenden kann.

Mountet man jetzt aber so: mount ... //server/dir1/dir1_1/dir1_1_1 /mnt/somewhereelse, gehört der Teil, den man in der Kommunikation mit dem Server ja trotzdem braucht (dir1_1/dir1_1_1), jetzt zum Pfad bis zum lokalen Mount-Point und es braucht zusätzlichen Aufwand (im Code), diesen Pfad bis zum Mountpoint jetzt in die Freigabe und den relativen Pfad bis zum Verzeichnis, das beim Mounten verwendet wurde, zu zerlegen und diesen Pfad dann bei der Kommunikation mit dem Server noch dem Dateinamen hinzuzufügen - denn eine Datei file1 gäbe es ja auch unterhalb von dir1_1/dir1_1_2/file1 und das wäre eine andere.

Das hat dann auch Auswirkungen auf Kohärenz der Daten und anderes ... denn um unter Linux eine Datei eineindeutig intern anzusprechen, braucht es üblicherweise eine "device ID" und eine Inode-Nummer (https://man7.org/linux/man-pages/man2/stat.2.html), die nur unterhalb der jeweiligen Device-ID eindeutig sein muß (sprich: zwei Dateisysteme können dieselbe Inode-Nummer für unterschiedliche Dateien verwenden, weil die nur innerhalb des Dateisystems gültig ist - wie eine Seitennummer in einem Buch). Das gilt zunächst zwar nur für lokale Dateien (wo es dann ein dediziertes "device" gäbe, z.B. eine HDD-Partition), aber es wird auch auf Netzwerk-Dateien übertragen. Dafür vergibt das System beim Mounten einer Freigabe eine Pseudo-ID für den Mount-Point - und das muß auch das lokale System machen, denn wenn ein Client mit zwei verschiedenen Servern arbeitet, könnte es wieder passieren (wenn der Server diese ID vorgäbe), daß beide dieselbe ID vergeben wollen. Üblicherweise basieren jetzt auch alle anderen Interna des Dateisystems (wie das Schützen vor parallelen Schreibzugriffen oder auch das Schützen vor dem Lesen sich gerade ändernder Daten durch einen anderen Prozess (Locking) und anderes) auf diesen "Beschreibungen" für eine Datei (Device-ID/Inode-Number).

Da sich offenbar NFS genauso verhält, was das Mounten von Verzeichnissen angeht, ist es einfacher, sich hier auf NFS zu konzentrieren bei der Suche - beim SMB/CIFS sind da noch zu viele zusätzliche Schichten dazwischen, angefangen beim Mapping von Benutzer-Accounts zwischen Server und Client, was eine Wissenschaft für sich ist, wie man der Samba-Dokumentation entnehmen kann. Das macht 1:1-Vergleiche dann schwerer und unübersichtlicher, weil jede dieser zusätzlichen Schichten irgendetwas anders machen könnte, als angenommen.

Denn es gibt bei Netzwerk-Mounts noch eine zweite Besonderheit - während es bei Dateisystem-Mounts nur möglich ist, einen einzigen Mount-Point als "beschreibbar" zu definieren (es kann aber noch andere Mounts geben, solange die "readonly" sind), klappt das bei Netzwerk-Mounts auch für mehrere, die sich auf dieselbe Freigabe (denselben Export) desselben Servers beziehen. Aber auch da müssen dann Zugriffe auf dieselbe Datei gegeneinander abgesichert werden - und das erfolgt üblicherweise wieder auf dem Server und zwar auch wieder anhand der Device-ID und einer Inode-Number. Deshalb bildet der Server dann wieder seinerseits eine "Filesystem-ID" für seine Exporte, die er selbst aus einer UUID oder einer Device-ID (wenn es etwas in der Richtung gibt, was nicht zwingend der Fall sein muß) ableitet und wenn der das nicht kann, muß ihn der Benutzer (oder der Admin) dabei mit dem "fsid"-Parameter bei einem NFS-Export unterstützen. Mit dieser FSID und der Inode-Number sollte dann der (NFS-)Server seinerseits das File-Locking für die Clients sicherstellen können ... aber dazu muß dann eben auch die FSID an der Freigabe "hängen", egal welche Pfadteile jetzt jeder Client "vor" dem Mount-Point noch eingeschlossen hat.

Und so gibt es noch einige andere Punkte, wo dieses "erweiterte Handling" auf Schwierigkeiten stoßen könnte/müßte ... man stelle sich nur mal eine Freigabe vor, für die der Benutzer A volle Zugriffsrechte hat, die aber ein Unterverzeichnis "subdir" enthält, für das er eben gerade keine Rechte hat - was passiert jetzt genau (bzw. was soll passieren, was ist beabsichtigt), wenn versucht wird, diese Freigabe unter Verwendung des Kontos von Benutzer A zu mounten und dabei aber gleich noch das "verbotene" Verzeichnis anzuhängen? Schlägt jetzt gleich das Mounten fehl oder weigert sich der Server erst dann, wenn auf diesen Mount-Point zugegriffen werden soll?

Ich wäre ja schon zufrieden, wenn ich irgendeine (Entwickler-)Diskussion über die Implikationen, die sich aus diesem (meiner Meinung nach eben erst später geänderten) Verhalten ableiten, finden könnte ... letztlich sind Bugs oder gar Sicherheitsprobleme, die sich in einer Software verstecken, häufig genug auch nur durch "Benutzung" aufgefallen, die nicht den Vorstellungen und Dokumentationen der Entwickler entsprach (außer diejenigen, die durch gezielte Analyse gefunden werden). Im Linux wurde im Laufe der Jahre praktisch alles auf die Benutzung einer allgemeinen Abstraktionsschicht mit dem Namen "Virtual File System" (VFS) umgestellt - seitdem gehen praktisch alle Dateizugriffe des Kernels über diese VFS-Schicht.

Ich tendiere im Moment zu der Vermutung, daß dabei irgendwann auch dieses Mounten von Verzeichnissen unterhalb einer Freigabe möglich wurde (was man auch nicht mit mount -o bind ... verwechseln sollte, das fügt nur eine "indirection" hinzu für Dateien und Verzeichnisse und dabei kann man (zumindest glaube ich das zu wissen und vielleicht sollte ich das auch noch einmal prüfen) auch nicht einfach eine Datei über ein Verzeichnis mounten oder umgekehrt) und ich suche (immer noch) nach einer Diskussion, in der die Konsequenzen dieser Änderung mal Thema waren.

Was mich aber richtig irritiert, ist das Verhalten von Windows an dieser Stelle ... da ist zwar klar, daß UNC-Pfade auch ohne Mounten funktionieren (dank Redirector-Code bei der Namensauswertung - aber eben auch nicht in allen Windows-Programmen, wie man ab und an mal selbst bemerkt), aber daß man auch tieferliegende Verzeichnisse direkt mounten kann, war mir ebenso neu und wenn man sich mal die Syntax für das oben verlinkte "net use" ansieht, steht da mit dem [\<volume>] hinter dem Share-Namen auch nur eine Angabe, die bei Netware-Emulation benutzt werden kann/soll und von einer "Alternative", wann da ansonsten noch weitere Pfade nach dem \<ShareName> angegeben werden dürften, ist weit und breit nichts zu sehen. Nun ist die MS-Doku da zwar alt, aber sie sollte immer noch gelten und für Windows 10 habe ich keine neuere Dokumentation (bei MS) gefunden. Da ich nun vollkommen durcheinander war, habe ich aber einfach mal mit einem Windows 10 nachgesehen ... und da gibt es das "net"-Kommando immer noch und auch die Syntax für "net use" soll immer noch dieselbe sein, wo von "path_below_share" nichts zu sehen ist:
Code:
Microsoft Windows [Version 10.0.19042.746]
(c) 2020 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>net use /?
The syntax of this command is:

NET USE
[devicename | *] [\\computername\sharename[\volume] [password | *]]
        [/USER:[domainname\]username]
        [/USER:[dotted domain name\]username]
        [/USER:[username@dotted domain name]
        [/SMARTCARD]
        [/SAVECRED]
        [/REQUIREINTEGRITY]
        [/REQUIREPRIVACY]
        [/WRITETHROUGH]
        [[/DELETE] | [/PERSISTENT:{YES | NO}]]

NET USE {devicename | *} [password | *] /HOME

NET USE [/PERSISTENT:{YES | NO}]


C:\WINDOWS\system32>
Auch die Idee, daß dann eben die Pfadangabe einfach zum "sharename" dazugeschlagen würde in der Beschreibung, leuchtet mir nicht so richtig ein ... denn auch bei anderen Sub-Kommandos ist es ziemlich eindeutig, was ansonsten unter einem "Share name" verstanden wird:
Code:
C:\WINDOWS\system32>net share

Share name   Resource                        Remark

-------------------------------------------------------------------------------
C$           C:\                             Default share
T$           T:\                             Default share
D$           D:\                             Default share
IPC$                                         Remote IPC
print$       C:\WINDOWS\system32\spool\drivers
                                             Printer Drivers
ADMIN$       C:\WINDOWS                      Remote Admin
D            D:\
Users        C:\Users
The command completed successfully.


C:\WINDOWS\system32>
und denselben Begriff für unterschiedliche Inhalte zu verwenden, verbietet sich eigentlich von selbst.

Ich bin also einigermaßen ratlos - aber immerhin habe ich (der ich mich ansonsten an die jeweiligen Dokumentationen und frühere Erfahrungen halte) damit etwas dazugelernt (und so etwas kann ich auch problemlos zugeben) und nun wüßte ich halt auch noch gerne, ob diese Möglichkeiten (im Linux!) absichtlich eingebaut wurden oder doch nur ein Unfall sind, der dann Benutzern, die sich ansonsten nicht mit Dokumentationen befassen, aufgefallen ist, als sie eine eigentlich falsche Syntax verwendeten und den sie jetzt benutzen können.

Bei letzterem müßte/sollte man dann vielleicht tatsächlich noch einmal alle Konsequenzen überlegen und auch testen ... nur braucht das einen Plan (weil vieles auch eine spezielle Konfiguration braucht und da ist es dann blöd, wenn man für den dritten Test dieselbe Konfiguration bräuchte, wie für den ersten, die man dann aber für den zweiten Test schon wieder "vernichtet" (bzw. umgebaut) hat) und wohl auch entsprechenden "Antrieb" (inkl. Zeit dafür), was mir im Moment eigentlich beides fehlt. Trotzdem treibt mich das Thema so stark um, daß ich (obwohl ich eigentlich anderes machen wollte) schon einige Versuche der Recherche gestartet habe, die aber bisher noch nicht zu Ergebnissen geführt haben.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.