Rechtevergabe mit user id



  • Hallo,

    ich starte per Webpage ein Script, dem ich die rechte -rwsr-xr-x gegeben habe.
    Das Script sollte also, egal von wem aufgerufen "immer" mit den Besitzer Rechten laufen.
    Leider funktioniert das nicht, denn das Script soll jeden Aufruf in einer Datei speichern. (Besitzer Datei und Besitzer Script sind gleich)

    Wenn ich das Script -rwxr-xr-x mit user Besitzer starte funktioniert es, jedoch nicht mit user www (SUSE-Apache).
    Dafür habe ich ja das Zusatzbit USER-ID gesetzt.
    Wenn ich die Datei auf -rw-rw-rw- setze kann das Script einen Eintrag machen.

    Was mache ich hier falsch.
    Es ist mir klar die Gruppe www einen eigenen Benutzer haben sollte......
    aber für meine Zwecke im Intranet brauche ich das nicht. (faul)

    Danke



  • Du sprichst von einem "Script"? Wenn Du ein Script als CGI-Bin benutzen willst, hast Du ein Problem: Seit der bash2 (ca. seit 1999) wird das S-Bit nicht an die im Script aufgerufenen Programme/Shell-Befehle weitergegeben!!!
    (Das sollte wohl Sicherheitslücken schließen.)

    Entweder schreibst Du ein C-Programm, oder Du musst Dir die bash1 als Binary besorgen und z. B. unter /usr/bin/bash1 ablegen. Wenn Dein Script dann mit
    #!/usr/bin/bash1 beginnt, müsste es gehen.

    (Ich bin selbst über dieses Problem "gestolpert", als das Tool DIP zum Aufbau einer SLIP-Verbindung bei einem SuSE-Linux Release-Wechsel plötzlich nicht mehr funktionierte, weil die in dem Paket enthaltenen Scripte nicht mehr die nötigen Rechte bekommen konnten.)



  • Hallo,

    das Script ist ein perl-cgi Script.
    d.h. Ich kann zwar das USER-ID Bit setzen, aber es nützt nichts.

    Willst du mir das damit sagen 😃

    Ich hätte nun die Idee mein perl-Script zu compilieren, das sollte ja gehen und es danach zu versuchen. Somit könnte ich ein funktionierendes Programm nutzen, und muss das Rad mit C nicht neu erfinden. Jedoch gefällt mir das überhaupt nicht.

    Hat sonst noch einer eine Idee ??

    Danke


Log in to reply