[Howto] Dateien wieder sichtbar machen

  • [NAS Typ:] alle
    [Firmware:] 3.x
    [Getestet:] ja
    [Sonstige Modifikationen:] keine


    Es taucht öfters das Problem auf, das Dateien über das Microsoft-Netzwerk nicht mehr zu sehen sind.


    Hintergrund:
    In den meisten Fällen hängt es mit dem SAMBA zusammen.
    Da es beim Linux keine DOS-Attribute (System, Versteckt, Archiv) existieren,
    benutzt SAMBA die Execute-Bits der Dateien und Ordner um die DOS-Attribute abzubilden.
    Wenn bei den Dateien die Execute-Bits gesetzt sind, werde diese nicht angezeigt.
    Bei den Ordner ist es umgekehrt, sind die Execute-Bits gelöscht, wird der Inhalt des Ordners nicht angezeigt.


    Über die Konsole (Putty) könnte man dazu den Befehl

    Code
    chmod -R -x+X /share/HDA_DATA/Public


    verwenden.
    -x schaltet die Execute-Bits der Dateien ab
    +X schaltet die Execute-Bits der Ordner an


    QNAP hatte dazu einen Befehl erstellt, um das korrigieren der Execute-Bits zu vereinfachen:

    Code
    set_volume_mode "[FreigabeNamen]"


    Wenn man nun nicht mehr alle Dateien unter der Freigabe Public sieht,
    braucht man nun nur den Befehl

    Code
    set_volume_mode "Public"


    in der Konsole ausführen.
    Der Vorteil daran ist, das man nicht mehr Wissen muß, auf welchem Volume die Freigabe abgelegt wurde und die grundsätzliche Befehlsfolge ist.
    Dies vermeidet mögliche Eingabefehler.


    Update 2010-07-04:
    Ab der Firmware-version 3.3 sollte es keine Probleme mehr geben, da nun die DOS-Attribute in den Erweiterten Attributen des Dateisystems gespeichert werden und nicht mehr in den Ausführungsbits der Ordner und Dateien.


    Schöne Grüße,
    Stefan

    Einmal editiert, zuletzt von Eraser-EMC2- () aus folgendem Grund: Bemerkung hinzugefügt

  • Hi!


    Danke für das Howto, hat mir gerade sehr gute Dienste geleistet!


    Ein kleiner Hinweis für Leute, die genauso Unix/Linux-unkundig sind wie ich:
    Besteht der Name des Shares aus zwei oder mehreren Wörtern mit Abstand dazwischen,
    muss man einen \ an das erste (zweite...) Wort anhängen.


    Also nicht wie aus Windows gewohnt "Mein super Ordner", sondern "Mein\ super\ Ordner" eingeben.
    Sonst kommt eine Fehlermeldung, dass der Share "Mein" nicht gefunden wurde...


    Bei den Ordnern in dem jeweiligen Share dürfte es dann automatisch gehen, das soll aber bitte jemand bestätigen, der sich auskennt...


    Gruß,
    Phillip

  • Das lässt sich noch eleganter umschiffen indem du nur den anfängst den Verzeichnisnamen zu schreiben und dann mit TAB Taste autovervollständigst ;)


    z.B.

    Code
    cd /sh

    TAB drücken ergibt

    Code
    cd /share/


    usw.


    Mfg
    Christian