Root Rechte und Unterordner

  • Hallo Zusammen,


    Ich habe folgendes Problem:
    Erstelle ich ein mit dem Moduldesigner und der Funktion "MKdir" wird der Ordner mit den folgenden Rechten angelegt:

    HTML
    drwxrwxr-x 2 tomcat tomcat 4096 Oct 24 09:12 test Ordner


    Das Problem ist, dass wenn in dem Ordner ein Script liegt, kann das unter dem Modul User nicht ausgeführt werden.


    Hat jemand eine Idee, wie ich das fixen kann?
    Besten Dank fürs Feedback.


    Gruss
    CH


  • Hallo,


    Du musst dein Skript für den moduleuser ausführbar machen (chown moduleuser und chmod +x oder berechtigungen *******r-x mit dem besitzer tomcat).


    Grüße


    Tom

    Quality Assurance


    STARFACE GmbH | Adlerstraße 61 | 76137 Karlsruhe | www.starface.com

  • Hallo Tom,


    Danke ja das habe ich gemacht. Nur muss ich das via SSH machen.
    Wie kann ich die Rechte ändern aus dem Moduldesigner?


    Müsste Konsequenterweise nicht automatisch die Rechte des modulusers haben - respektive die Option, "Ordner mit modulusers" anlegen.
    (das gleiche ist natürlich für erstellen von Files u.s.w.)
    Besten Dank fürs Feedback.



    Gruss
    CH

  • Versuch mal:


    Code
    mkdir -m [XXX] [Verzeichnis]


    Die Drei X ==> [X Owner][X Group][X-All] kannst du mit Nummern ersetzen


    Code
    0 : read, write and execute
    • 1 : read and write
    • 2 : read and execute
    • 3 : read only
    • 4 : write and execute
    • 5 : write only
    • 6 : execute only
    • 7 : no permissions


    Also Z.b.


    Code
    mkdir -m 022 [Ordner]


    Erstellt den Ordner mit den Rechten:


    Besitzer: Vollzugriff
    Gruppe: Lesen/Ausführen
    Alle: Lesen/Ausführen


    MfG


    Fabian

  • Hallo Fabian,


    Danke für dein Feedback.
    Ich habe es versucht mit "Executes".
    Erstellen kann ich den Ordner nur unter /var/tmp
    Direkt im Verzeichnis vom Modul habe ich keine Rechte.
    Wenn ich den Ordner im /var/tmp erstellt habe, habe ich keine Rechte, den Ordner zu verschieben.
    Alle Dateien in den Ordner /var/tmp abzulegen finde ich nicht so gut...


    @ Starface - was ist die beste Lösung.
    Ich schlage wie bereits erwähnt die Option vor, dass man Ordner, Files u.s.w mit erweiterten Rechten erstellen kann.
    Ich sehe da kein Sicherheit Risiko da die Ausführung der im Ordner befindlichen Scripte weiter mit moduluser-Rechten funktioniert.


    sfvorschlag.jpg
    Besten Dank fürs Feedback.


    Gruss
    CH


  • Das wird ab der nächsten Beta machbar sein.

    Quality Assurance


    STARFACE GmbH | Adlerstraße 61 | 76137 Karlsruhe | www.starface.com

  • Hallo Tom,


    Die neue Beta ist ja da - doch an den Modulbausteinen hat sich nichts geändert.
    Wie muss ich dein Post "Das wird ab der nächsten Beta machbar sein." deuten?
    Muss ich das erstellen eines Directory über Bash machen?


    Wenn ja, wiso funktioniert das nicht mit dem Script Signing nicht mit folgendem TXT:


    ___________________________________________________________________


    String fileContent="";
    try {
    File f = new File("/tmp/id.txt");
    FileInputStream inp = new FileInputStream(f);
    byte[] bf = new byte[(int)f.length()];
    inp.read(bf);
    fileContent = new String(bf, "UTF-8");
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }


    print("Module-ID: "+fileContent);


    try {
    Runtime.getRuntime().exec("chown -R moduleuser /var/starface/module/instances/repo/" + fileContent + "/ordner");
    Runtime.getRuntime().exec("chmod +x /var/starface/module/instances/repo/" + fileContent + "/ordner/Datei1");
    Runtime.getRuntime().exec("chmod +x /var/starface/module/instances/repo/" + fileContent + "/ordner/Datei2");
    print("Modul-Rechte gesetzt");
    } catch(Exception e)
    {
    print("Modul-Rechte NICHT gesetzt");
    }


    ___________________________________________________________________



    Besten Dank fürs Feedback.


    Gruss
    CH

  • Das Script muss Bash sein nicht Java.


    Das heisst:


    Bash
    #!/bin/bash
    clear
    echo "Erstelle Verzeichnis"
    mkdir /pfad/zu/deinem/ordner
    echo "Setze Besitzer"
    chown -R moduleuser /pfad/zu/deinem/ordner
    echo "Setze Rechte"
    chmod +x /pfad/zu/deinem/ordner
    echo "Fertig!"



    Script als .txt oder .sh Datei abspeichern, im Partnerportal hochladen, und das zurückbekommene .sfc Script als Resource hochladen.


    Und eben beachten, dass das Script nicht unter Windows geschrieben werden kann. Im PDF steht nur UNIX Zeilenumbrüche.


    Also am besten auf der Starface via putty:


    Code
    touch script.sh ==> erstellt leere Datei mit dem Namen "script.sh"
    nano script.sh ==> Datei im Nano Editor öffnen
    [Ganzen Code eintippen]
    CTRL+O ==> zum Speichern
    CTRL+X ==> zum Schliessen
    CHMOD 777 script.sh ==> Quick and Dirty Rechte setzen
    ./script.sh ==> Script Testweise ausführen


    Diese Datei dann via WinSCP von der SF herunterladen, und anschliessend Signieren lassen
    MfG


    Fabian

  • Hallo Fabian,


    So ich konnte mein erstes Bash File Signieren lassen.
    Danke für deine Hilfe.


    @Starface:

    Zitat

    Hallo Tom,
    Die neue Beta ist ja da - doch an den Modulbausteinen hat sich nichts geändert.
    Wie muss ich dein Post "Das wird ab der nächsten Beta machbar sein." deuten?
    Muss ich das erstellen eines Directory über Bash machen?


    Fände es toll, wenn man auf einen Eintrag der von euch auch eine Antwort folgen würde.

  • Hallo Tom,


    Leider bin ich erneut auf ein großes Problem gestoßen mit den Rechten im Modul.
    Ich kann zwar die Rechte jetzt setzen, in dem ich ein Bash Script ausführe - wie von euch vorgeschlagen.
    Doch nach einem Neustart der Anlage wird die Berechtigung wieder zurückgesetzt:




    Die Rechte sollten nicht überschrieben werden.
    Danke für dein Feedback


    Gruss
    CH

  • Hallo Fabian,


    Danke für dein Feedback - ja aber ist für mich nur eine NOT Lösung.
    Starface wünschte ja Feedbacks - die Frage ist, was sie aus den Feedbacks machen.
    Ich sehe den Sinn nicht, dass die Berechtigungen nach einem neustart wieder gesetzt werden.
    Aber vielleicht kann Starface mal etwas dazu sagen


    MFG
    CH

  • Hallo,


    wenn du das Skript mit Root-Berechtigung ausführst brauchst du die Berechtigungen doch garnicht setzen oder ändern. Der Root-User darf sich überall an allem bedienen ohne sich um Zugriffsberechtigungen zu kümmern.


    Gruß


    Tom

    Quality Assurance


    STARFACE GmbH | Adlerstraße 61 | 76137 Karlsruhe | www.starface.com

  • Hallo Tom,
    Das Python Script wird von verschiedenen Seiten und Modulen angesteuert - dass alles umzuschreiben ist gigantisch gross. Wiso werden die Berechtigung nicht dem Moduluser gegeben. Ich sehe kein Sicherheitsrisiko


    Gruss
    CH

  • Hallo Tom,
    Das Python Script wird von verschiedenen Seiten und Modulen angesteuert - dass alles umzuschreiben ist gigantisch gross. Wiso werden die Berechtigung nicht dem Moduluser gegeben. Ich sehe kein Sicherheitsrisiko


    Gruss
    CH


    Hallo,


    ich werd's ansprechen.


    Viele Grüße


    Tom

    Quality Assurance


    STARFACE GmbH | Adlerstraße 61 | 76137 Karlsruhe | www.starface.com

  • Hallo,


    wir setzen beim Neustart die Besitzer der Dateien auf tomcat:tomcat, verändern die Berechtigungen allerdings nicht.


    Das sieht man an deinem Antwort auf Seite 1:


    Die Dateien Call.py, cQueueUtil.py und simpleLock.py sind in diesem Fall für niemandem ausführbar. Das sind sie auch vor dem Neustart nicht.


    Wenn du die Ausführungsberechtigung x für other setzt ( chmod o +x /path/to/file ) dann bleiben die Dateien auch nach neustarts für den moduleuser ausführbar, egal was sie für einen Besitzer haben (davon ausgehend dass sie in ein Unterverzeichnis von /var/starface liegen).

    Quality Assurance


    STARFACE GmbH | Adlerstraße 61 | 76137 Karlsruhe | www.starface.com

  • Hallo Zusammen,


    Leider kämpfe ich immer noch mit den Rechten.
    Ich habe folgendes Bash File Signiert und funktioniert


    Bash
    #!/bin/bash
    chmod o+x /tmp/bash.sh
    /tmp/bash.sh


    Wenn ich eine Starface neu installiere, funktioniert es.
    Wenn ich eine Anlage Update funktioniert es nicht.


    Wenn ich das Log ausführe, erhalte ich als Resultat 1 zurück.
    So wie ich das Verstehe, wird das Script durchgeführt. Doch leider setzt es die Rechte nicht.


    Gibt es eine andere Möglichkeit, genauer zu schauen, was geht und was nicht.




    Gruss
    CH

  • Zitat

    Wenn ich das Log ausführe, erhalte ich als Resultat 1 zurück.


    Nach mir ist die korrekte Returnvalue 0 , Returnvalue 1 ist ein Fehlerstatus.


    Was sagt das "Module" und "Console" Logfile dazu?


    Kannst du sonst noch per Putty mal


    Code
    cat /var/spool/mail/root


    ausführen? Ich hatte da bei gewissen Sachen Meldungen drin bezgl. Blockierter Root-Shell versuche, da man altes "ExecuteOverride" Blockiert wurde.


    MfG


    Fabian

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!