[QPKG] SAMBA Private Benutzerfreigabe

  • [NAS Typ:] alle
    [Firmware:] (ab 3.0.0)
    [Getestet:] ja, mit TS-109 und TS-239,TS-439
    [Sonstige Modifikationen:] keine
    [Autor:] Eraser-EMC2- / Stefan


    Erstellt eine Freigabe mit dem Namen des Benutzers.
    Der Basis-Ordner der Freigaben liegt unter "/share/xxx_DATA/User".
    Beim Installieren des QPKGs und dem ersten Zugriff auf die Freigabe wird ein entsprechender Benutzer-Ordner unter "/share/xxx_DATA/User" erstellt.
    Wird ein neuer Benutzer erstellt, ist dessen Benutzerfreigabe sofort von dem Benutzer in der Netzwerkumgebung zu sehen.


    One share for every NAS user without interaction, only create the new user and that is.
    The base of the share will be created in the folder "/share/xxx_DATA/User".
    The user folder in "/share/xxx_DATA/User will be created automatically on installing the QPKG for every user or on first access on the user share of a new user.
    On creating a new user, you will find the new user share without interaction in the network neighbourhood.




    + Überprüfung des NAS-Model entfernt


    Stefan

    Einmal editiert, zuletzt von Eraser-EMC2- () aus folgendem Grund: Version V1.3.1 aktualisiert

  • Zitat von "Merlin021"

    Hallo Eraser,


    erst einmal danke, dass du dir die Mühe gemacht hast und das Programm geschrieben hast. Ich habe es auf einem QNAP 809U installiert und es scheint auch soweit zu funktionieren. Es wird die persönliche Freigabe angelegt nur kann ich mit meinem Benutzer nicht darauf zugreifen.
    Die Authentifizierung findet über ein AD Server statt, dass heißt ich habe keinen lokalen Benuzter auf dem QNAP, kann das dran liegen?


    Danke für deine Hilfe.....Merlin

    Hallo Merlin,


    oh, das habe ich vergessen dazu zu schreiben.
    Das QPKG ist für lokale Benutzer ausgelegt, mit einer AD-Domäne konnte ich es nicht testen.
    Das Problem wird wohl das Trennzeichen zwischen Domäne und Benutzername sein.
    Wird das "\" oder "+" dazu verwendet ?
    Mit

    Code
    testparm -v | grep "winbind separator"


    auf der Konsole kannst du das Trennzeichen ermitteln.


    Könntest du bitte in der "/share/xxx_DATA/.qpkg/SAMBA-Homeshare/smb_home.sh" in der Zeile

    Code
    USER="$2"


    und

    Code
    ${CMD_WLOG} --append "Home folder for [ ${USER} ] created" --type 0 --user "${USER}" --ip $3 --comp $4


    wie hier die " hinzufügen.


    Stefan

  • Hey Stefan,


    also die Anführungzeichen habe ich gesetzt und der winbind separator ist ein "+".


    Nur leider hat das nichts geholfen...


    Gruß, Stefan :)


    PS: Beide den gleichen Vornamen und beide aus Niedersachsen

  • Hi Stefan,


    ich habe mal ein bisschen probiert und habe nun folgendes heraus gefunden. Dein Script liest ja die lokale Datenbank aus und schreibt die User in eine temporäre Datei um dann die Ordner anzulegen.
    Dort nutz du ja die

    Code
    /usr/local/samba/bin/net sam list users


    Ausgabe...um die User der Domäne abzufragen musste ich die Zeile durch:

    Code
    /usr/bin/wbinfo -u

    ersetzen.


    Dann werden auch die richtigen Verzeichnisse angelegt.


    So nun habe ich aber wahrscheinlich soviel rumgespielt, dass er das Verzeichnis Homes nicht mehr anlegt, ich habe es nun über die GUI angelegt und allen Domänen-Benutzer Zugriff gegeben.
    Siehe da nun erscheint auch meine persönliche Freigabe neben dem Homes Ordern. Nur leider zeigt diese Freigabe nicht direkt auf mein Homeshare sondern auf Homes Ordern allgemein. Das heißt ich sehe ersteinmal alle Homeshares, ich muss mir dann meinen Ordner raussuchen und kann entsprechend darauf zugreifen.

    Das ist aber zu erstragen, da ich die Verzeichnisse ja dann mit

    Code
    net use \\[QNAP]\[FREIGABENAME]\%USERNAME%\[DOMÄNE]+%USERNAME%]


    einbinde.


    Vielleicht kannst du bei deiner nächsten Version ja eine Option für AD oder Lokale Benutzerverwaltung mit einbauen. Ich würde mich auch als Tester zur Verfügung stellen :)



    Gruß, Stefan

  • Zitat von "Merlin021"

    Dein Script liest ja die lokale Datenbank aus und schreibt die User in eine temporäre Datei um dann die Ordner anzulegen.
    Dort nutz du ja die


    Code: Alles auswählen
    /usr/local/samba/bin/net sam list users


    Nicht nur, hätte ich im Grunde weglassen können,
    da schon durch ein Zugriff auf die Freigabe einen Ordner mit dem Benutzernamen hätte erstellt werden müssen,
    dazu ruft SAMBA das Script auf, das in der smb.conf der Freigabe steht.


    Zitat von "Merlin021"

    ich habe es nun über die GUI angelegt und allen Domänen-Benutzer Zugriff gegeben.


    Beim Erstellen einer Freigabe über die GUI fehlt der notwendige Parameter %u:

    Code
    path = /share/HDA_DATA/User/%u
    comment = Home Directories


    mit dem %u wird der Benutzer auf seine Freigabe direkt verwiesen.
    Daher wäre es interessant, welcher Benutzer (mit/ohne Domäne) im Systemlog steht,
    denn beim Zugriff auf die Freigabe sollte der Ordner automatisch erstellt werden und ein Eintrag im Log sollte es protkollieren.


    Stefan

  • Hallo!


    Ich bin gerade auf den Script gestoßen und habe mich schon gefreut, dass ich nicht mehr so viel manuell machen muss. :)


    Allerdings habe ich ein Problem: Und zwar lässt sich das Script auf dem TS-412U mit der neuen Betafirmware nicht installieren.. :( Bekomme nur ein Model mismatch. Ist das Script daher auf diesem NAS generell nicht lauffähig oder fehlt da nur eine Modellbezeichnung in der QPKG Datei?



    Mit freundlichen Grüßen
    Sebastian

  • Hi, es ist grundsätzlich für alle NAS-Modelle geeignet, da es nur eine Freigabe anlegt
    und ein Script, das überprüft, ob es schon einen ordner für den angemeldeten Benutzer existiert.


    Ich habe nun die Überprüfung auf die NAS-Typen entfernt, da es im Grunde überflüssig und dafür der Wartungsaufwand unnötig ist.


    Nun sollte es bei dir auch funktionieren.

  • Zitat von "Merlin021"

    PS: Beide den gleichen Vornamen und beide aus Niedersachsen


    Du kommst aus Hannover, ich arbeite in Hannover ;)


    merlin:
    Könntest du bitte mal schauen, wie die Benutzernamen aussehen, wenn du folgenden Befehl ausführst ?

    Code
    /usr/local/samba/bin/net  sam list users


    Evtl. bekomme ich es doch noch auch für AD zum Laufen,
    im COM-Forum wurde auch nach automatischen Benutzerfreigaben gefragt.


    Schönen Dank