Seite 2 von 2 ErsteErste 12
Zeige Ergebnis 16 bis 29 von 29

Thema: Root Rechte und Unterordner

  1. #16
    STARFACE Expert
    Benutzerbild von ITC-B
    Registriert seit
    02.02.2013
    Ort
    Rapperswil-Jona (Schweiz)
    Beiträge
    465

    Standard

    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
    Besuche den Online Store für Starface Module:
    http://store.itc-b.ch - +41 55 55 2 55 55

  2. #17
    STARFACE Crew
    Benutzerbild von TomAnson
    Registriert seit
    11.11.2014
    Ort
    Karlsruhe
    Beiträge
    1.331

    Standard

    Zitat Zitat von ITC-B Beitrag anzeigen
    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
    STARFACE Quality Assurance

    Bug gefunden? Hier melden!
    Featurewunsch oder Verbesserungsvorschlag? Trage es in unserem Feature Request Portal ein!
    Unsere Knowledge-Base für STARFACE findet ihr hier!

  3. #18
    STARFACE Crew
    Benutzerbild von TomAnson
    Registriert seit
    11.11.2014
    Ort
    Karlsruhe
    Beiträge
    1.331

    Standard

    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:
    Code:
    [root@localhost cqueue]# ls -l
    
    -rw-rw-r-- 1 moduleuser tomcat  797 Oct 31 09:56 Call.py
    -rwxrwxr-x 1 moduleuser tomcat 2664 Oct 31 09:56 cQueue
    -rw-rw-r-- 1 moduleuser tomcat 4520 Oct 31 09:56 cQueueUtil.py
    -rwxrwxr-x 1 moduleuser tomcat  568 Oct 31 09:56 ibacalc
    -rw-rw-r-- 1 moduleuser tomcat  561 Oct 31 09:56 simpleLock.py
    [root@localhost cqueue]#
    
    Broadcast message from root@localhost.localdomain
            (unknown) at 9:57 ...
    The system is going down for reboot NOW!
    login as: root
    root@192.168.206.90's password:
    
    
    [root@localhost cqueue]# ls -l
    
    -rw-rw-r-- 1 tomcat tomcat  797 Oct 31 09:56 Call.py
    -rwxrwxr-x 1 tomcat tomcat 2664 Oct 31 09:56 cQueue
    -rw-rw-r-- 1 tomcat tomcat 4520 Oct 31 09:56 cQueueUtil.py
    -rwxrwxr-x 1 tomcat tomcat  568 Oct 31 09:56 ibacalc
    -rw-rw-r-- 1 tomcat tomcat  561 Oct 31 09:56 simpleLock.py
    [root@localhost cqueue]#
    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).
    STARFACE Quality Assurance

    Bug gefunden? Hier melden!
    Featurewunsch oder Verbesserungsvorschlag? Trage es in unserem Feature Request Portal ein!
    Unsere Knowledge-Base für STARFACE findet ihr hier!

  4. #19
    STARFACE Expert
    Benutzerbild von ITC-B
    Registriert seit
    02.02.2013
    Ort
    Rapperswil-Jona (Schweiz)
    Beiträge
    465

    Standard

    Hallo Zusammen,

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

    Code:
    #!/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
    Besuche den Online Store für Starface Module:
    http://store.itc-b.ch - +41 55 55 2 55 55

  5. #20
    STARFACE Expert
    Benutzerbild von nucom
    Registriert seit
    11.12.2012
    Ort
    9443 Widnau
    Beiträge
    1.455

    Standard

    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
    Modulhersteller aus der Schweiz
    __________________________________________________ ________
    STARFACE Excellence Partner: Info | Certified Module Creator Kontakt

  6. #21
    STARFACE Crew
    Benutzerbild von TomAnson
    Registriert seit
    11.11.2014
    Ort
    Karlsruhe
    Beiträge
    1.331

    Standard

    Zitat Zitat von ITC-B Beitrag anzeigen
    Hallo Zusammen,

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

    Code:
    #!/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
    Hallo,

    führ das Skript als root-user über SSH aus, und schau welche Berechtigungen gesetzt wurden ( ls -la /tmp/ ).

    mit " set -x " am Anfang vom Skript (also nach dem Shebang) bekommst du auf der Shell zusätzliche Debugging-Informationen während der Skriptausführung.
    STARFACE Quality Assurance

    Bug gefunden? Hier melden!
    Featurewunsch oder Verbesserungsvorschlag? Trage es in unserem Feature Request Portal ein!
    Unsere Knowledge-Base für STARFACE findet ihr hier!

  7. #22
    STARFACE Expert
    Benutzerbild von ITC-B
    Registriert seit
    02.02.2013
    Ort
    Rapperswil-Jona (Schweiz)
    Beiträge
    465

    Standard

    Hallo Tom

    Ergibt das oben beschriebene keinen Resultat.

    führ das Skript als root-user über SSH aus, und schau welche Berechtigungen gesetzt wurden ( ls -la /tmp/
    Code:
    -rw-rw-r-- 1 tomcat tomcat    92 Nov 21 16:43 cqueuerechte.sh
    Manuell als Root funktioniert es.
    Somit wären die Rechte eigentlich vorhanden.


    Das Bash sieht wie folgt aus:
    Code:
    #!/bin/bash
    set -x 
    chmod o+x /tmp/cqueuerechte.sh
    /tmp/cqueuerechte.sh
    Code:
    [2017-11-21 16:43:47,036] INFO  [CQ_Modulrechte]  
    [2017-11-21 16:43:47,037] INFO  [CQ_Modulrechte]  
    [2017-11-21 16:43:47,037] INFO  [CQ_Modulrechte] 1
    Wie können wir das Problem fixen.
    So wie ich sehe, ist das ein Problem auf der Starface. Ist es möglich einmal mit einem Entwickler anzuschauen.

    Gruss
    CH
    Geändert von ITC-B (21.11.2017 um 17:19 Uhr)
    Besuche den Online Store für Starface Module:
    http://store.itc-b.ch - +41 55 55 2 55 55

  8. #23
    STARFACE Expert
    Benutzerbild von andreas.stein
    Registriert seit
    04.12.2014
    Ort
    Bitburg
    Beiträge
    419

    Standard

    Hi Tom,
    hi CH,

    ich habe das gleiche Problem. Programmiertes Modul mit zertifiziertem Script funktioniert auf der "Programmier-Anlage", nach Export und Import auf eine andere Starface gibt die Funktion ExecuteAsRoot nur noch 1 als Rückgabewert zurück. kein Output, kein ErrorOutput. Zusätzlich erscheint im error-Log der Starface die Fehlermeldung
    Code:
    ERROR de.starface.core.component.security.socketcommunication.AuthReportListener Could not parse authentication-report: <85>Nov 22 15:14:29 localhost sudo:   tomcat : TTY=unknown ; PWD=/usr/share/tomcat6 ; USER=moduleuser ; COMMAND=/bin/bash -s
    Im Modul habe ich drei verschieden Scripte, die über ExecuteAsRoot laufen. Alle geben das gleiche zurück.
    Viele Grüße,

    Andreas Stein
    IT Fabrik Systemhaus GmbH & Co. KG

    STARFACE Excellence Partner

  9. #24
    STARFACE Expert
    Benutzerbild von ITC-B
    Registriert seit
    02.02.2013
    Ort
    Rapperswil-Jona (Schweiz)
    Beiträge
    465

    Standard

    Hallo Andreas,
    Hallo Tom,


    Effektiv - ich habe es gerade getestet. Sobald ich eine neue VM Aufsetzte und das Modul importiere funktioniert es nicht mehr.

    Gruss
    CH
    Besuche den Online Store für Starface Module:
    http://store.itc-b.ch - +41 55 55 2 55 55

  10. #25
    STARFACE Expert
    Benutzerbild von andreas.stein
    Registriert seit
    04.12.2014
    Ort
    Bitburg
    Beiträge
    419

    Standard

    Kann ich bestätigen. Ich bin noch einen Schritt weiter gegangen:

    1. Modul auf Anlage A programmiert -> Shell Script via ExecuteAsRoot im Modul funktioniert (Rückgabewert 0)
    2. Modul auf Anlage B importiert -> Shell Script via ExecuteAs im Modul funktioniert nicht (Rückgabewert 1)
    3. Modul auf Anlage B editiert und mittels "Resource Update" Button die *.sfsc Datei neu hochgeladen -> kein Veränderung Rückgabewert 1)
    4. Modul auf Anlage B editiert, Ressource gelöscht, neue Ressource angelegt, gleiches Script wieder hochgeladen, Ressource in der Funktion wieder ausgewählt -> FUNKTIONIERT


    PS:
    Die Fehlermeldung, die ich im error-Log bekommen habe, hat mit dem Problem nichts zu tun. Die wird zwar von der Funktion ausgelöst, wird aber nur durch eines meiner Script verursacht und taucht auch auf "Anlage A" auf.
    Geändert von andreas.stein (22.11.2017 um 21:59 Uhr)
    Viele Grüße,

    Andreas Stein
    IT Fabrik Systemhaus GmbH & Co. KG

    STARFACE Excellence Partner

  11. #26
    STARFACE Crew
    Benutzerbild von TomAnson
    Registriert seit
    11.11.2014
    Ort
    Karlsruhe
    Beiträge
    1.331

    Standard

    Hallo,

    ich habe mir nochmal die Sache näher angeschaut. Entschuldigt bitte die lange Wartezeit.

    Zum Testen der Berechtigungen habe ich folgendes Skript angelegt und signieren lassen:

    Code:
    #!/bin/bash
    
    # if the files already exist, then delete them so we can start again fresh
    if [ -e /tmp/helloWorld.py ]; then
    	rm -f /tmp/helloWorld.py
    fi	
    
    if [ -e /tmp/setPermsPythonFile.sh ]; then
    	rm -f /tmp/setPermsPythonFile.sh
    fi
    
    # make a python script that prints hello world to STDOUT
    echo '#!/usr/bin/python
    
    print("hello world")
    
    ' > /tmp/helloWorld.py
    if [ $? != 0 ]; then 
    	echo "creating python script failed" 1>&2
    	exit 1
    fi
    
    # make a bash script that makes the python script executable
    echo '#!/bin/bash
    
    chmod a+x /tmp/helloWorld.py
    if [ $? = 0 ]; then echo "permissions set" 
    fi
    
    ' > /tmp/setPermsPythonFile.sh
    if [ $? != 0 ]; then 
    	echo "creating script failed" 1>&2
    	exit 1
    fi
    
    # make the bash script executable too
    chmod a+x /tmp/setPermsPythonFile.sh
    if [ $? != 0 ]; then
    	echo "setting permissions on bash script failed" 1>&2
    	exit 1
    fi
    
    # execute the bash script
    /bin/bash /tmp/setPermsPythonFile.sh
    
    # execute the python script and redirect output to STDERR
    /usr/bin/python /tmp/helloWorld.py 1>&2
    Ablauf:
    Wenn python oder bash skript bereits existieren, dann lösche sie - damit weiß ich, dass die dateien immer "neu" sind die ich verwende.
    Erstelle einen Python-Skript, welches auf STDOUT eine Ausgabe macht
    Erstelle ein Bash-Skript. Dieser Skript setzt die Berechtigung "ausführbar" beim Python-Skript. Bei erfolg, schreibt er eine Meldung nach STDOUT.
    Ich mache mein Bash-Skript ausführbar
    Ich führe das Bash-Skript aus
    Ich führe das Python-Skript aus, leite aber seine STDOUT-Ausgabe nach STDERR um (Fehlerausgabe)

    In der STARFACE als Root-Skript importiert, kommt folgende Meldung im Log:

    Code:
    [2017-12-04 17:59:36,136] DEBUG [ExecuteAsRoot] Executing root-script : 49e05916-b242-49c9-a904-6d76d4b2cc33 
    [2017-12-04 17:59:36,188] INFO  [NewFunction] STDERR: hello world
    [2017-12-04 17:59:36,189] INFO  [NewFunction] STDOUT:permissions set
    [2017-12-04 17:59:36,189] INFO  [NewFunction] Result Code:0
    Alle Ausgaben an der richtigen Stelle (Python-Ausgabe nach STDERR, Bash-Ausgabe nach STDOUT)

    Danach ergänze ich das Modul, und führe über die normale Execute-Methode das Python-skript erneut aus (um das +x bit für "andere" zu testen), diesmal ohne Umleitung nach STDERR:

    Code:
    [2017-12-04 18:12:45,349] DEBUG [ExecuteAsRoot] Executing root-script : 49e05916-b242-49c9-a904-6d76d4b2cc33 
    [2017-12-04 18:12:45,393] INFO  [NewFunction] STDERR: hello world
    [2017-12-04 18:12:45,393] INFO  [NewFunction] STDOUT:permissions set
    [2017-12-04 18:12:45,393] INFO  [NewFunction] Result Code:0 
    [2017-12-04 18:12:45,393] INFO  [NewFunction] now executing the python file as moduleuser... 
    [2017-12-04 18:12:45,395] DEBUG [Execute] Executing Shell Command: /usr/bin/python /tmp/helloWorld.py 
    [2017-12-04 18:12:45,786] DEBUG [Execute] Execution took 251 ms 
    [2017-12-04 18:12:45,786] INFO  [NewFunction] STDOUT:hello world
    Danach habe ich das Modul auf einer frisch installierten (und auf die 6.4.3.28 upgedateten) STARFACE importiert. Die Signaturprüfung ist erfolgreich (Modul ist grün, Modul kann instanziert und ausgeführt werden). Es sieht allerdings so aus, als würde die Datei nicht korrekt geparst werden. Die Bash meldet nämlich, dass das Python-Skript überhaupt nicht existiere:

    Code:
    [2017-12-04 18:26:57,823] DEBUG [ExecuteAsRoot] Executing root-script : 49e05916-b242-49c9-a904-6d76d4b2cc33 
    [2017-12-04 18:26:57,835] INFO  [NewFunction] STDERR:  
    [2017-12-04 18:26:57,835] INFO  [NewFunction] STDOUT: 
    [2017-12-04 18:26:57,835] INFO  [NewFunction] Result Code:1 
    [2017-12-04 18:26:57,835] INFO  [NewFunction] now executing the python file as moduleuser... 
    [2017-12-04 18:26:57,835] DEBUG [Execute] Executing Shell Command: /usr/bin/python /tmp/helloWorld.py 
    [2017-12-04 18:26:57,861] DEBUG [Execute] Execution took 26 ms 
    [2017-12-04 18:26:57,861] INFO  [NewFunction] STDOUT: 
    [2017-12-04 18:26:57,862] INFO  [NewFunction] STDERR:/usr/bin/python: can't open file '/tmp/helloWorld.py': [Errno 2] No such file or directory
     
    [2017-12-04 18:26:57,862] INFO  [NewFunction] Result Code:2
    Dies bestätigt ein "ls -la /tmp/". Was meine Vermutung noch verstärkt, ist dass keines meiner Fehlermeldungen im Skript bis in das STDERR des Moduls hochgereicht wird.

    (also die hier - $? gibt das exit code des letzten Befehls zurück:
    if [ $? != 0 ]; then
    echo "creating python script failed" 1>&2
    exit 1
    fi

    )

    Würde das Parsen korrekt ablaufen, müsste das Skript schon ganz oben abbrechen und eine Fehlermeldung ausgeben.

    Aus welchem Grund dies passiert, muss ich oder ein Entwickler noch untersuchen. Ich kippe den Task dazu schonmal bei der Entwicklung ein.

    Decken sich hier unsere Testergebnisse?

    Viele Grüße,

    Tom
    Geändert von TomAnson (04.12.2017 um 19:23 Uhr)
    STARFACE Quality Assurance

    Bug gefunden? Hier melden!
    Featurewunsch oder Verbesserungsvorschlag? Trage es in unserem Feature Request Portal ein!
    Unsere Knowledge-Base für STARFACE findet ihr hier!

  12. #27
    STARFACE Expert
    Benutzerbild von andreas.stein
    Registriert seit
    04.12.2014
    Ort
    Bitburg
    Beiträge
    419

    Standard

    Hallo Tom,

    soweit ja. Das Problem nach dem Import in die Frische Anlage fängt aber schon hier an:

    Code:
    [2017-12-04 18:26:57,823] DEBUG [ExecuteAsRoot] Executing root-script : 49e05916-b242-49c9-a904-6d76d4b2cc33 
    [2017-12-04 18:26:57,835] INFO  [NewFunction] STDERR:  
    [2017-12-04 18:26:57,835] INFO  [NewFunction] STDOUT: 
    [2017-12-04 18:26:57,835] INFO  [NewFunction] Result Code:1
    Result Code müsste ja 0 sein.

    Ich denke hier liegt das eigentliche Problem. Das passiert auch mit einfachsten Scripts wie
    Code:
    #!/bin/bash
    reboot
    Ach ja: Man braucht übrigens nicht einmal eine zweite Anlage zum nachstellen. Gleiches Problem tritt schon auf, wenn ich auf der selben Anlage mein Modul aus der Library lösche und neu importiere.
    Geändert von andreas.stein (04.12.2017 um 23:25 Uhr)
    Viele Grüße,

    Andreas Stein
    IT Fabrik Systemhaus GmbH & Co. KG

    STARFACE Excellence Partner

  13. #28
    STARFACE Expert
    Benutzerbild von ITC-B
    Registriert seit
    02.02.2013
    Ort
    Rapperswil-Jona (Schweiz)
    Beiträge
    465

    Standard

    Ach ja: Man braucht übrigens nicht einmal eine zweite Anlage zum nachstellen. Gleiches Problem tritt schon auf, wenn ich auf der selben Anlage mein Modul aus der Library lösche und neu importiere.

    Hallo Zusammen,
    Ich habe es auch noch einmal getestet. Gleiches Resultat

    Gruss
    CH
    Besuche den Online Store für Starface Module:
    http://store.itc-b.ch - +41 55 55 2 55 55

  14. #29
    STARFACE Crew
    Benutzerbild von TomAnson
    Registriert seit
    11.11.2014
    Ort
    Karlsruhe
    Beiträge
    1.331

    Standard

    Hallo zusammen,

    der Fehler, dass Root-Skripte nach dem Import eines Moduls nicht ausgeführt werden konnten, ist ab der nächsten Release gefixt.

    VG

    Tom
    Geändert von TomAnson (10.01.2018 um 14:19 Uhr)
    STARFACE Quality Assurance

    Bug gefunden? Hier melden!
    Featurewunsch oder Verbesserungsvorschlag? Trage es in unserem Feature Request Portal ein!
    Unsere Knowledge-Base für STARFACE findet ihr hier!

Ähnliche Themen

  1. root Passwort v6.4.1.12 VM zurücksetzen?
    Von bishop im Forum STARFACE Einrichtung & Administration
    Antworten: 4
    Letzter Beitrag: 12.08.2019, 06:50
  2. Tomcat mit root Rechte?
    Von slu im Forum Off-Topic & Smalltalk
    Antworten: 4
    Letzter Beitrag: 29.02.2012, 20:44
  3. Appliance root-login
    Von FlorianW im Forum STARFACE Einrichtung & Administration
    Antworten: 6
    Letzter Beitrag: 06.10.2010, 08:22
  4. root Passwort bei Appliance ???
    Von thomas.hertli im Forum STARFACE Installation
    Antworten: 1
    Letzter Beitrag: 07.05.2008, 16:58

Lesezeichen

Forumregeln

  • Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
  • Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
  • Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
  • Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
  •